gpt4 book ai didi

java - Javafx 中的 SqLite 错误

转载 作者:行者123 更新时间:2023-11-29 07:32:30 24 4
gpt4 key购买 nike

我在调用一种方法来计算新的贷方余额后更新我的数据库时遇到问题。

[SQLITE_ERROR] SQL 错误或缺少数据库(靠近“'18.0'”:语法错误)

这是我的查询:

try {
String query = "UPDATE cards SET cardBalance '"+newCreditBalance+"' WHERE cardID = idList.getValue().toString";
PreparedStatement pst = connection.prepareStatement(query);

我是否对“+newCreditBalance+”有任何错误?它在 java 和我的数据库中都应该是 double 值。

最佳答案

语法错误是因为您缺少等号:"UPDATE cards SET cardBalance="+newCreditBalance

但是,使用像这样的字符串连接将值放入 SQL 查询或语句中是一个非常糟糕的主意(因为 SQL injection 的危险)。相反,将这样的字符串传递给 prepareStatement(): UPDATE cards SET cardBalance = ? WHERE cardID = ?"

然后在真正执行查询之前调用相关的setter方法:

pst.setFloat(1, newCreditBalance);
pst.setString(2, idList.getValue().toString);

您还应该为 idList.getValue() 使用正确的类型,但根据您的示例我不知道应该是什么类型。

关于java - Javafx 中的 SqLite 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40010222/

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