Java 删除我的jframe表单中的验证插件

Java 删除我的jframe表单中的验证插件,java,swing,jframe,Java,Swing,Jframe,我正在用Java开发一个基本的CRUD应用程序。我有一个带有添加、删除、编辑和更新选项的JFrame表单。我设计的delete按钮只允许按用户ID搜索并从表中删除整个记录,但我不知道如果ID不存在或ID已被删除,该怎么办。在try-catch块的所有三个场景中,我都会收到相同的消息。是否有人可以帮助我设计错误,以显示用户ID何时不存在以及用户ID何时已被删除 删除按钮代码: private void btnDeleteActionPerformed(java.awt.event.ActionEv

我正在用Java开发一个基本的CRUD应用程序。我有一个带有添加、删除、编辑和更新选项的
JFrame
表单。我设计的delete按钮只允许按用户ID搜索并从表中删除整个记录,但我不知道如果ID不存在或ID已被删除,该怎么办。在try-catch块的所有三个场景中,我都会收到相同的消息。是否有人可以帮助我设计错误,以显示用户ID何时不存在以及用户ID何时已被删除

删除按钮代码:

private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          
   try
        {
            int P = JOptionPane.showConfirmDialog(null," Are you sure want to delete ?","Confirmation",JOptionPane.YES_NO_OPTION);
            if (P==0)
            {
                con=Connect.ConnectDB();
                String sql= "delete from StaffInfo where STAFFID = '" + txtSTAFFID.getText() + "'";
                pst=con.prepareStatement(sql);
                pst.execute();
                JOptionPane.showMessageDialog(this,"Successfully deleted","Record",JOptionPane.INFORMATION_MESSAGE);
                Reset();
            }
        }catch(HeadlessException | SQLException ex){
            JOptionPane.showMessageDialog(this,ex);
        }
    }

您可以使用另一个具有已删除
ID
值的表,如果需要,可以添加已删除时间,将删除此
ID
的用户作为该表的列

如果您还想恢复数据,我建议在当前表中添加另一列作为
deleted
。然后,您可以在该行中设置
deleted
标志,而不是删除该行。然后,您可以通过重置标志来恢复已删除的数据


我想这可能会对您有所帮助。

我可以建议两种基本方法(当然还有其他选择)。
根据具体的设计和上下文需要在它们之间进行选择

第一个-仅允许删除有效记录(推荐)。
这种方法限制了允许的操作,只允许有效的操作。
例如,可以通过从有效选项的只读列表中选择ID来实现。一旦删除-ID将被删除,不再显示在GUI中

第二个-允许一切,但在执行之前或之后进行检查,然后(在这两种情况下)向用户显示适当的消息。
例如,可以通过使用
executeUpdate()
来实现这一点,它返回已更改(在您的情况下已删除)的行数,如果不受影响,则返回0

这两个选项广泛用于限制用户交互并提供基本指导。

然而,在CRUD应用程序中,您需要仔细考虑这两个选项是如何影响应用程序的,以及两种实现的结果是什么。p> 你能为这两个建议发送代码示例吗?我是java新手