java - 使用sqlite更新数据错误

标签 java sqlite sql-update

我想更新数据库中的一些数据,但不断收到以下错误: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 为您转义 StringDate 变量。

 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

我认为这段代码是一个非常糟糕的主意。您应该在方法范围内关闭 ConnectionPreparedStatement。您不应该以这种方式混合 UI 和持久性代码。如果 INSERT 失败,则不会提交或回滚。

关于java - 使用sqlite更新数据错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22116370/

相关文章:

java - 水平居中文本

java eclipse 红色感叹号

java - 迭代包含 ArrayList 的 ArrayList

java - TransformException多个dex文件

.net - LINQ+轻量级数据库 : which db should I choose?

android - 如何限制 Android SQLite 表中的行数

r - 如何将列重写(复制)到现有的SQLite数据库中

sql - 从同一表的一列更新多列值

sql-server-2008 - 更新到 Openrowset SQL SERVER 2008

mysql - 如何根据同一张表中的另一行进行更新?