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

时间:2015-12-18 14:32:11

标签: java swing jframe

我正在使用Java编写基本的CRUD应用程序。我有一个JFrame表单,其中包含添加,删除,编辑和更新选项。我设计了删除按钮,只能按用户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);
        }
    }

2 个答案:

答案 0 :(得分:0)

您可以使用另一个包含已删除ID值的表格,如果您希望可以添加已删除的时间,则删除此ID的用户将作为该表的列。

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

认为这可能对你有帮助..

答案 1 :(得分:0)

我可以建议2种基本方法(还有其他选择) 根据具体的设计和背景需求,在它们之间进行选择。

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

第二个 - 允许所有内容,但在执行前或事后检查,然后(在两种情况下),向用户显示相应的消息。
例如,可以使用executeUpdate()返回已更改的行数(在您的情况下删除),或者如果没有受影响的行,则可以执行此操作。

这两个选项广泛用于限制用户交互并提供基本指导 但是,在CRUD应用程序中,您需要仔细考虑任一选项如何影响您的应用程序,以及这两种实现的结果。