gpt4 book ai didi

java - 语法 MySql 插入错误

转载 作者:行者123 更新时间:2023-11-29 08:12:12 25 4
gpt4 key购买 nike

我收到一个 Sql 语法错误com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 '8 , 0' 附近使用的正确语法
,(我通过输入获取属性),我在 mysql 中的表是,例如我发布一个插入:

插入itshopsupply (id, idSupplier, dateTime, 数量, 总成本) VALUES ('2', '4', '2009-1-4', '24', '245');

int rs2 = st2.executeUpdate("INSERT INTO supply VALUES ( "
+ id + " , " + idSupplier + " , "
+ dateTime + " , " + idProduct + " ,"
+ Quantity + " , " + price + "");

if (rs2 == 1) {
JOptionPane.showMessageDialog(Sale,
"Product Ordered", "Supply",
JOptionPane.DEFAULT_OPTION);
}

最佳答案

您需要将 varchar 类型保留在 '' 中,如下所示

int rs2 = st2.executeUpdate("INSERT INTO supply VALUES ( '"
+ id + " ',' " + idSupplier + "' , '"
+ dateTime + " ', '" + idProduct + " ','"
+ Quantity + " ', '" + price + "'");

使用PreparedStatement而不是 Statement,这消除了 '

的困惑

简单的例子

PreparedStatement pt=connection.prepareStatement(insert into test values(?,?));
pt.setString(1,"hi");
pt.setInt(2,1);
pt.executeUpdate();

对于你的插入操作PreparedStatemet将会是

PreparedStatement pt=connection.prepareStatement("INSERT INTO supply VALUES (?,?,?,?,?,?)")
pt.setString(1,id );
pt.setString(2,idSupplier );
pt.setString(3,dateTime );
pt.setString(4,idProduct );
pt.setString(5,Quantity );
pt.setString(6,price );
int rs2=pt.executeUpdate();

关于java - 语法 MySql 插入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com