我有使用JDBC的這個問題。 我可以創建一個名爲food.db的表,其中包含文本字段的早餐,午餐和晚餐。當我打電話給以下...如何使用SQLite JDBC傳遞文本或字符串?
statement.executeUpdate("create table food (breakfast string, lunch string, dinner string)");
breakfast = JOptionPane.showInputDialog("What was your breakfast?");
lunch = JOptionPane.showInputDialog("What was your lunch?");
dinner = JOptionPane.showInputDialog("What was your dinner?");
statement.executeUpdate("insert into food values(\'"+breakfast+"\', \'"+lunch+"\' ,\'"+dinner+"\')");
但是,最後一條語句會導致錯誤。無論出於何種原因,它說,無論我輸入什麼「早餐」(例如燕麥片),都不是列,即使我知道我可以用這種方式使用SQLite的語法來更新列。
此外我已經檢查了executeUpdate()的參數,並且單引號和一切的語法匹配...我嘗試過文本和字符串列字段,爲兩者獲取相同的錯誤。
請檢查更新的答案。您正在轉義不需要的單引號。 – 2013-05-10 15:06:31
請使用具有參數化查詢的'PreparedStatement',而不是將用戶輸入連接到查詢中。您目前對SQL注入開放。 – 2013-05-11 07:24:20