【发布时间】:2015-09-14 14:00:41
【问题描述】:
我尝试使用 ArrayList 将数据插入表中,然后收到如下错误消息:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 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(orderid, customername, item, qty, amount, total) VALUES(3,'lahiru','chick ' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
我尝试了不同的方法,但 gp 不正确 这是我用于插入值的方法。
public class Order {
Connection con;
public void passingValuesToDB(ArrayList<OrderModel> list) {
try {
con = new DBconnector().connect();
String sql = "insert into order(orderid, customername, item, qty, amount, total) VALUES(?,?,?,?,?,?)";
PreparedStatement ps = con.prepareStatement(sql);
for(int i=0;i<list.size();i++){
ps.setInt(1, list.get(i).getOrderid());
ps.setString(2, list.get(i).getCustomername());
ps.setString(3, list.get(i).getItem());
ps.setDouble(4, list.get(i).getQty());
ps.setDouble(5, list.get(i).getAmount());
ps.setDouble(6, list.get(i).getTotal());
ps.addBatch();
}
ps.execute();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
谁能帮我解决这个问题。
【问题讨论】:
-
订单是关键字。如果您改用 insert into 'order' 会怎样?
-
它工作得很好,非常感谢 StanislavL
标签: java mysql swing prepared-statement