![](/img/trans.png)
[英]SQL error or missing database (near “.”: syntax error) error in java when trying to update data from sqlite databse
[英]Java sql error when trying to update database
當我嘗試通過按鈕觸發的更新方法更新數據庫時,我遇到了 sql 語法問題
這是按鈕代碼
update.addActionListener(e -> {
int i = table.getSelectedRow();
if (i >= 0) {
model.setValueAt(PackId.getText(), i, 0);
model.setValueAt(PackName.getText(), i, 1);
model.setValueAt(VendorName.getText(), i, 2);
model.setValueAt(PackValue.getText(), i, 3);
try {
updatepacks(PackId,PackName,VendorName,PackValue);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
} else {
System.out.println("Update Error");
}
更新方法代碼
public void updatepacks(JTextField PackId, JTextField PackName, JTextField VendorName, JTextField PackValue) throws SQLException {
try{
Connection conn = DriverManager.getConnection("jdbc:sqlite:packsver3.db");
String sqlupdate = "Update packs" + " SET PackName = ?" + " VendorName = ?" + "PackValue = ? " + "Where PackId = ? ";
try (PreparedStatement ps = conn.prepareStatement(sqlupdate)) {
ps.setString(1, String.valueOf(PackId));
ps.setString(2, String.valueOf(PackName));
ps.setString(3, String.valueOf(VendorName));
ps.setString(4, String.valueOf(PackValue));
ps.executeUpdate();
}
} catch (Exception e) {
e.printStackTrace();
}
}
和錯誤
您錯過了UPDATE
語句中的逗號。 它應該看起來像:
String sqlupdate = "Update packs"
+ " SET PackName = ?, " // added comma at the end
+ " VendorName = ?, " // added comma at the end
+ "PackValue = ? "
+ "Where PackId = ? ";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.