首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除记录后冻结的程序(GUI)

删除记录后冻结的程序(GUI)
EN

Stack Overflow用户
提问于 2013-05-19 16:08:22
回答 2查看 148关注 0票数 0

这段代码:

代码语言:javascript
运行
复制
  private void btnDeleteRecordActionPerformed(java.awt.event.ActionEvent evt) {                                                
    // TODO add your handling code here:
    try {
        rs.deleteRow();
        stmt.close();
        rs.close();

        stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                ResultSet.CONCUR_UPDATABLE);

        String sql = "SELECT * FROM Workers";
        rs = stmt.executeQuery(sql);

        rs.next();
        int id_col = rs.getInt("ID");
        String id = Integer.toString(id_col);
        String first = rs.getString("First_Name");
        String last = rs.getString("Last_Name");
        String job = rs.getString("Job_Title");

        textID.setText(id);
        textFirstName.setText(first);
        textLastName.setText(last);
        textJobTitle.setText(job);
    } catch (SQLException err) {
        //  System.out.println(err.getMessage());
        JOptionPane.showMessageDialog(Workers.this, err.getMessage());
    }

}         

AfteI从数据库中删除一行程序冻结。我想那个程序将能够工作后,删除按钮te下一步和前面的按钮将工作。

我使用了这个:http://www.homeandlearn.co.uk/java/delete_a_record_from_a_database.html

EN

回答 2

Stack Overflow用户

发布于 2013-05-19 16:47:11

首先:

而不是在你正在做工作的方法中定义你的语句和ResultSet,这是更好的使用作用域和更安全的,特别是在处理多线程代码时……

其次:

当查询“Worker”时,将每一行映射到一个POJO中,并将所有POJO放在一个集合中,然后让您的应用程序使用该集合而不是ResultSet。

第三:

在执行update/delete时,创建一条update/delete语句,并使用该语句的条目(您试图修改的) id (或某种其他类型的唯一引用)。

票数 0
EN

Stack Overflow用户

发布于 2013-05-19 17:03:24

看起来你的线程因为NullPointerException而死了。您应该做的第一件事是找出导致NullPointerException的错误所在,并修复它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16632596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档