![](/img/trans.png)
[英]SQL error or missing database (near “.”: syntax error) error in java when trying to update data from sqlite databse
[英]Error in SQL syntax when trying to write to the database with Java
我正在使用Java中的mvc連接數據庫。 setData方法似乎無法正常工作,並且不確定原因。 我的數據庫稱為檢查器和表信息。 連接工作正常,可以從db讀取數據到文本字段,但是當我將數據放入文本字段時,出現錯誤。
public static void setData()
{
try
{
String query2 = "INSERT INTO info(name,dob,age,email,address) VALUES"+
"("+name+","+dob+","+age+","+email+","+address+")";
statement.executeUpdate(query2);
}catch(Exception ex)
{
System.out.println(ex);
}
}
視圖類具有試圖將數據設置為db的addBtn按鈕。
public void actionPerformed(ActionEvent e)
{
conn.name = nameBox.getText();
conn.dob = nameBox.getText();
conn.age = ageBox.getText();
conn.dob = dobBox.getText();
conn.email = email.getText();
conn.setData();
System.out.println(nameBox.getText()+" "+ dobBox.getText()+" "+
ageBox.getText()+" "+ email.getText()+" "+addrBox.getText());
}
出現此錯誤:
java.sql.SQLSyntaxErrorException:您的SQL語法有錯誤; 在第1行的'taylor,01-03-04,14,jt @ gmail.com,123 harris blvd)'附近檢查與您的MariaDB服務器版本相對應的手冊以使用正確的語法
你應該把你的名字報"('"+name+"'
(有單引號出現'
)這同樣適用於任何其他。 string
類型的值-電子郵件和地址。
此外,我寧願為此使用准備好的語句,因此將為您完成報價等。
MariaDB插入示例:
INSERT INTO person(first_name,last_name)VALUES('John','Doe');
在您的情況下(JDBC)更改為使用綁定變量 :
try {
String query2 = "INSERT INTO info(name,dob,age,email,address) VALUES(?,?,?,?,?)";
statement.setString(1, name);
statement.setString(2, dob);
statement.setString(3, age);
statement.setString(4, email);
statement.setString(4, address);
statement.executeUpdate(query2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.