Sun*_*iel 1 java sqlite javafx
在调用一种方法来计算新的贷方余额后,我在更新数据库时遇到问题.
[SQLITE_ERROR] SQL错误或缺少数据库(靠近"'18 .0'":语法错误)
这是我的查询:
try {
String query = "UPDATE cards SET cardBalance '"+newCreditBalance+"' WHERE cardID = idList.getValue().toString";
PreparedStatement pst = connection.prepareStatement(query);
Run Code Online (Sandbox Code Playgroud)
我用"+ newCreditBalance +"做错了吗?它应该是java和我的数据库中的double值.
语法错误是因为你缺少一个等号:"UPDATE cards SET cardBalance="+newCreditBalance.
但是,使用字符串连接将值放入SQL查询或语句(因为SQL注入的危险)是一个非常糟糕的主意.相反,将这样的字符串传递给prepareStatement():UPDATE cards SET cardBalance = ? WHERE cardID = ?"
然后在实际执行查询之前调用相关的setter方法:
pst.setFloat(1, newCreditBalance);
pst.setString(2, idList.getValue().toString);
Run Code Online (Sandbox Code Playgroud)
您也应该使用正确的类型idList.getValue(),但从您的示例我不知道应该是什么.
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |