statement.executeUpdate("INSERT INTO LOGIN VALUES(" jTextField1.getText() ",'" jTextField2.getText() "'," jTextField3.getText() ")");
我有這行,我正在嘗試做這行準備好的宣告,但我做不到。我所做的是這樣的:
PreparedStatement pstmt = con.prepareStatement("UPDATE Login
SET login_id = ? WHERE username = ?");
sql表是這個
CREATE TABLE login(
login_id INTEGER PRIMARY KEY,
username varchar(150) NOT NULL,
password varchar(150) NOT NULL
);
uj5u.com熱心網友回復:
此以下代碼應封裝在 ty catch 陳述句中
另外我希望你在你的代碼中添加一個密碼散列函式,其他的一切都是非常不安全的。
PreparedStatement pstmt = con.prepareStatement("INSERT INTO LOGIN VALUES (?,?,?)");
pstmt.setInt (1, Integer.parseInt(jTextField1.getText()));
pstmt.setString (2, jTextField2.getText());
pstmt.setString (3, jTextField2.getText()));
// execute the preparedstatement
pstmt.execute();
uj5u.com熱心網友回復:
觀察引數化物件以避免 SQL 注入。只是一堆安全。盡管您提供的那個可以用于學習目的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/362096.html
下一篇:Error(1064)(42000):檢查與您的MySQL服務器版本相對應的手冊,以獲取在第9行“)”附近使用的正確語法
