我目前正在編寫一個Java應用程序,用於執行Swing GUI組件的輸入/輸出以及從本地Microsoft Access 2007數據庫存儲/檢索此數據。除非我嘗試更新記錄,並且輸入來自要存儲在文本或備註字段中的JTextArea,否則一切都會順利進行。我可以接受來自JTextField的罰款,但是我得到了「SQLException:UPDATE語句中的語法錯誤」。與一個JTextArea。從Swing中將JTextArea存儲在Access 2007數據庫中
這裏是有問題的代碼:
/* <in_some_method> */
myJTextArea.setText(someString); // the components can have the exact
myJTextField.setText(someString); // same string and still have problems
saveEdit(myTable, myColumn, myJTextField.getText(), myID); // this works fine
saveEdit(myTable, myColumn, myJTextArea.getText(), myID); // this throws an exception
/* </in_some_method> */
/* the update method */
public void saveEdit(String table, String column, String value, long id) {
String query = "UPDATE " + table + " ";
query += "SET " + column + " = '" + value + "', "
query += "UpdatedAt = Now() ";
query += "WHERE ID = " + id;
try {
// conn is a working connection to the database
Statement s = conn.createStatement();
// execute the query
s.executeUpdate(query);
// close open database handle
s.close();
} catch (Exception ex) {
System.err.println(ex);
}
}
幾件事情:
我不認爲它與數據庫中的字段的數據類型存在;我已經爲類型嘗試了備註和文本,並且都使用JTextField並且都不能與JTextArea一起使用。
如上所述,異常是「SQLException:UPDATE語句中的語法錯誤」。所以我知道我的問題與數據庫表的佈局無關;所請求的表和列都存在並且可以被訪問。
有人有什麼想法嗎?任何幫助將不勝感激。當設置爲JTextArea
也不會同時
myJTextArea.getText()的值是什麼? – Thinhbk