[英]SQL Syntax Error in Java
我正在netbeans / windows 7上使用Java開發應用程序。我試圖使用SQL使用PreparedStatement將數據插入數據庫。 這就是我的代碼;
private void addInfoActionPerformed(java.awt.event.ActionEvent evt) {
Connection conn;
PreparedStatement pst;
String url = "jdbc:derby://localhost:1527/records";
String SQL_INSERT = "INSERT INTO records"+
"VALUES(?,?,?)";
String name, surname, number;
try {
conn = DriverManager.getConnection(url, "system", "app");
System.out.println("connected to db");
pst = conn.prepareStatement(SQL_INSERT);
name = nameField.getText();
surname = surnameField.getText();
number = numberField.getText();
System.out.println("got data from textfields");
pst.setString(1, name);
pst.setString(2, surname);
pst.setString(3, number);
System.out.println("variables set");
pst.executeUpdate();
System.out.println("sql command executed");
pst.close();
conn.close();
} catch (SQLException ex) {
Logger.getLogger(addition.class.getName()).log(Level.SEVERE, null, ex);
}
}
但是我遇到了這樣的錯誤;
java.sql.SQLSyntaxErrorException:語法錯誤:遇到“?” 在第1行的第27列。
我的表的名稱是記錄,它有三個列,分別是: 姓名,姓氏和號碼。 從println行可以理解,該行存在問題。
pst = conn.prepareStatement(SQL_INSERT);
也許我創建了SQL_INSERT字符串和錯誤的SQL代碼。 我不知道到底是什么問題。
您在中缺少空格
String SQL_INSERT = "INSERT INTO records"+
"VALUES(?,?,?)";
進行串聯時,它會產生"INSERT INTO recordsVALUES(?,?,?)"
更改為
String SQL_INSERT = "INSERT INTO records"+
" VALUES(?,?,?)";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.