我想更新数据库中的一些数据,但不断收到以下错误:Java.sql.SQLException:无法识别的标记:“Hello”
我的问题是,如何解决我遇到的问题?
您可以在下面找到我的代码:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String value1= jTextField1.getText();
try{
String sql = "Update KKKB1 set Pangkat='"+value1+"' where Pangkat='"+value1+" ";
pst=conn.prepareStatement(sql);
pst.executeUpdate();
JOptionPane.showMessageDialog(null,"Updated");
Main ad=new Main();
ad.setVisible (true);
dispose();
}
最佳答案
PreparedStatement
为您转义 String
和 Date
变量。
String sql = "Update KKKB1 set Pangkat= ? where Pangkat=? ";
pst=conn.prepareStatement(sql);
pst.setString(1, p1);
pst.setString(2, p2);
http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
我认为这段代码是一个非常糟糕的主意。您应该在方法范围内关闭 Connection
和 PreparedStatement
。您不应该以这种方式混合 UI 和持久性代码。如果 INSERT 失败,则不会提交或回滚。
关于java - 使用sqlite更新数据错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22116370/