如何显示条目是否在数据库中?

我目前正在制作一个程序,可以在其中删除数据库中的某些条目。我可以做到这一点,但我想添加一个 JOptionPane 屏幕,以便它何时可以找到它或无法找到它(因此,当未找到名称时,不应找到它并显示一条消息说找不到它)。我尝试使用结果语句,但这似乎不起作用。如果有人知道如何做,请评论如何做!


private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          

    ArrayList<Cookbook  > recipes = new ArrayList();

    String name = txtName.getText();

    try {

        String url = "jdbc:derby://localhost:1527/Cookbook";

        Connection conn = DriverManager.getConnection(url);

        String query = "DELETE from RECIPES WHERE NAME = ?";

        PreparedStatement pst = conn.prepareStatement(query);

        pst.setString(1, name);

        pst.executeUpdate();





        JOptionPane.showMessageDialog(null, name + " was sucessfully deleted");

    } catch (Exception e) {

        JOptionPane.showMessageDialog(null, "was not found or could not be deleted");

    }


慕哥6287543
浏览 28回答 1
1回答

元芳怎么了

引用javadoc executeUpdate():返回:(1) SQL 数据操作语言 (DML) 语句的行计数或 (2) 0(不返回任何内容的 SQL 语句)所以:String url = "jdbc:derby://localhost:1527/Cookbook";try (Connection conn = DriverManager.getConnection(url)) {    String query = "DELETE from RECIPES WHERE NAME = ?";    try (PreparedStatement pst = conn.prepareStatement(query)) {        pst.setString(1, name);        int rowCount = pst.executeUpdate();        if (rowCount == 0) {            JOptionPane.showMessageDialog(null, "'" + name + "' was not found");        } else if (rowCount == 1) {            JOptionPane.showMessageDialog(null, "'" + name + "' was successfully deleted");        } else { // cannot happen if `NAME` has unique index in the database            JOptionPane.showMessageDialog(null, rowCount + " recipes named '" + name + "' were deleted");        }    }} catch (Exception e) {    JOptionPane.showMessageDialog(null, "something went wrong: " + e);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java