[英]Update SQL query is not working in Java Swing
在這里,我制作了一個名為sub_master的表,該表的列為sub_id和名稱,插入和刪除與此配合得很好,因此也將這些函數放在此處以獲取更新函數的參考,為此,我正在使用PostgreSQL。 在命令行中,UPDATE查詢工作正常,並且查詢如下:UPDATE school_submaster SET name =''WHERE sub_id =;
private void InsertRowActionPerformed(java.awt.event.ActionEvent evt)
{
String query = "INSERT INTO school_submaster (sub_id, \"name\") VALUES ("+SidInput.getText()+",'"+SnameInput.getText()+"')";
executeSQlQuery(query, "Inserted");
}
private void UpdateRowActionPerformed(java.awt.event.ActionEvent evt)
{
String query = "UPDATE school_submaster SET 'name' ='"+SnameInput.getText()+"'+WHERE sub_id = "+SidInput.getText();
executeSQlQuery(query, "Updated");
}
private void DeleteRowActionPerformed(java.awt.event.ActionEvent evt)
{
String query = "DELETE FROM school_submaster WHERE sub_id = "+SidInput.getText();
executeSQlQuery(query, "Deleted");
}
僅對字符串和日期常量使用單引號。 切勿在列名或表名周圍使用單引號。
您的update
是:
UPDATE school_submaster
SET 'name' ='<something>'+WHERE sub_id = "+SidInput.getText();
在查詢字符串中還有+
問題。 它看起來像礦石:
UPDATE school_submaster
SET name = '<something>'
WHERE sub_id = "+SidInput.getText();
但是,即使那樣也不是真的。 您需要學習使用參數將參數傳遞給查詢。 該查詢應該是以下內容的變體:
UPDATE school_submaster
SET name = ?
WHERE sub_id = ?
在哪里?
是參數的占位符(也可以是@name
或其他名稱)。
您在sql WHERE
子句中缺少空格,因此如下所示添加它:
String query = "UPDATE school_submaster SET 'name' ='"+
SnameInput.getText()+"' WHERE sub_id = "+SidInput.getText();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.