请需要帮助..

    Connection cn = DriverManager.getConnection ("jdbc:mysql://localhost/posdb", "root", "");
    PreparedStatement dat = cn.prepareStatement("INSERT INTO order VALUES('"+num+"',"+buyamount.elementAt(0)+","+buyamount.elementAt(1)+","+buyamount.elementAt(2)+","+buyamount.elementAt(3)+","+buyamount.elementAt(4)+","+buyamount.elementAt(5)+","+buyamount.elementAt(6)+","+buyamount.elementAt(7)+","+buyamount.elementAt(8)+","+buyamount.elementAt(9)+","+buyamount.elementAt(10)+","+buyamount.elementAt(11)+","+buyamount.elementAt(12)+","+buyamount.elementAt(13)+","+buyamount.elementAt(14)+","+buyamount.elementAt(15)+","+buyamount.elementAt(16)+","+buyamount.elementAt(17)+","+buyamount.elementAt(18)+","+buyamount.elementAt(19)+","+tot+","+tot2+","+(tot2-tot)+")");
    System.out.println(dat);
    dat.executeUpdate();
    cn.close();


错误信息 :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order VALUES('20130605093640',1, 0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9500,1200' at line 1


num是字符串,tot和tot2是整数,而buyamount是整数的向量。

谢谢..任何帮助将不胜感激..

最佳答案

Order是MySQL中的保留字-在其周围使用反引号:

INSERT INTO `order`...


http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

07-24 18:54
查看更多