java - 没有从数据库中删除的消息对话框

标签 java mysql sql jdbc

enter image description here enter image description here 我想从数据库中删除一条记录。代码运行良好,但即使存在特定 id 的记录,该消息也会返回 id not found in database。请帮助我改进我的代码,以便在数据库中找不到 id 时显示单独的消息。我已附上我的输出。正如你可以看到 id=19 我在数据库中,但是当我删除 id=19 时,该特定 id 记录将从数据库中删除,但会弹出消息说在数据库中找不到 id。

try {
                                    String s = TUID.getText( );
                                    Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mysql", "root", "root" );
                                    Statement st = con.createStatement( );
                                    String r = "delete from mysql57.addressbook where iid = "+s;
                                    PreparedStatement preparedStatement = con.prepareStatement( r );
                                    preparedStatement.executeUpdate( );
                                    int rows = preparedStatement.executeUpdate();
                                 if(rows == 0)
                        {  JOptionPane.showMessageDialog( f, "ID NOT FOUND IN DATABASE");



                        }

                        else{
                            JOptionPane.showMessageDialog( f, "DELETED FROM DATABASE" );

                        }

                                    }


                                }
                                catch (Exception ex) {
                                    JOptionPane.showMessageDialog( f,ex );
                                }

最佳答案

executeUpdate() 方法返回受影响的行数。如果没有删除任何行,它会返回0(自然)。

所以...

int rows = preparedStatement.executeUpdate();
if(rows == 0)
    ...
else
    ...

您还应该正确使用 PreparedStatement,并将 + s 更改为占位符(令人惊讶的是,每个教程似乎都滥用 PreparedStatement并教导坏习惯)。

关于java - 没有从数据库中删除的消息对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47316443/

相关文章:

php - 检查 mysql php 中是否存在记录

MySQL:在 SQLException 上将 session 变量设置为 NULL

mysql - 如何通过 Groovy sql 字符串调用 SQL 的 now()?

php - 如何阻止垃圾邮件点击发送到数据库? (php)

sql - PostgreSQL 数据库中的阿拉伯文和英文文本

sql 根据条件选择最小值或最大值第 2 部分

java - Vim,Java : Open class under cursor and go to method

java - 困惑这个回文测试是如何工作的

java - 在某些设备上运行 Android 应用程序时出现奇怪的 RuntimeException

java - 循环双周库