代碼:在參數中準備語句?
java.sql.PreparedStatement pstmt=null;
String sql = "UPDATE Person SET address = ? WHERE name = ? ";
pstmt=thecon.prepareStatement(sql);
String addVar= JOptionPane.showInputDialog("Enter the new address");
String nameVar=JOptionPane.showInputDialog("Enter the Name");
pstmt.setString(1 , addVar);
pstmt.setString(2, nameVar);
// Tell affected no of rows in table
int num = pstmt.executeUpdate(sql);
//Step 7: Process the results of the query
System.out.println(num + " records updated");
thecon.close();
} catch (SQLException e) {
System.out.println("sql problem: "+e);
}
例外:
SQL問題:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在''附近使用正確的語法'? WHERE name =?'在第1行
有問題嗎? – philshem
什麼是SQL語法的問題? –
您正在使用錯誤的'executeUpdate'方法,您應該使用沒有字符串參數的方法。 –