//3个选择框得到一个"yy-MM-dd"型的字符串
String date=ChoY1.getSelectedItem()+"-"+ChoM1.getSelectedItem()+"-"+ChoD1.getSelectedItem();
//date为数据库中字段名 类型为时间/日期
String s6="date";
//执行数据库语句
stmt.executeUpdate("INSERT INTO JUTI("+s6+") VALUES('"+date+"'"+")");   
//显示
System.out.println("添加成功"+"\n");   
报错信息为数据库语句语法错误~!
请问可以通过字符串的形式插入吗,还是要经过转换?
请高手帮忙~
谢谢!

解决方案 »

  1.   

    System.out.println("INSERT INTO JUTI("+s6+") VALUES('"+date+"'"+")")
    看看是什么
      

  2.   

    1、日期字段名不要用'date'
    2、日期值的格式为:... values(#2005-12-27#)
      

  3.   

    使用PreparedStatement,可以屏蔽不同数据库的差异:java.sql.Timestamp now = new java.sql.Timestamp();
    java.sql.Connection conn = DriverManager.getConnection(...);
    java.sql.PreparedStatement pstmt =
        conn.prepareStatement("insert into table(fieldname) values(?)");
    pstmt.setTimestamp(now);
    pstmt.execute();
      

  4.   

    上面的代码有点问题,用这个:java.sql.Timestamp now = new java.sql.Timestamp();
    java.sql.Connection conn = DriverManager.getConnection(...);
    java.sql.PreparedStatement pstmt =
        conn.prepareStatement("insert into table(fieldname) values(?)");
    pstmt.setTimestamp(1, now);
    pstmt.execute();
      

  5.   


    String s="INSERT INTO JUTI(s6) VALUES("+date+")"; 
    stmt.executeUpdate(s);
     看看。。