java - 结果集不可更新

标签 java sql database resultset delete-row

<分区>

我正在用 Java (NetBeans 7.3.1) 做一个简单的 GUI 应用程序,我在其中使用 ResultSet 来检索和更新 NetBeans 虚拟数据库中的数据。

我在其中创建了数据库“Employees”和一个表“WORKERS”。很难,我无法更新其中的数据。

代码是

public void doConnect() {
    String host = "jdbc:derby://localhost:1527/Employees";
    String uName = "adm";
    String uPass = "admin";
    String SQL = "SELECT * FROM APP.WORKERS ORDER BY ID";
    try {
        con = DriverManager.getConnection(host, uName, uPass);
        stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

        rs = stmt.executeQuery(SQL);
        int conc = rs.getConcurrency();
        System.out.println(conc);
        rs.next();
        int id_col = rs.getInt("ID");
        String first_name = rs.getString("First_Name");
        String last_name = rs.getString("Last_Name");
        String job = rs.getString("Job_Title");
        System.out.println(id_col + " " + first_name + " " + last_name + " " + job);
        textId.setText(Integer.toString(id_col));
        textName.setText(first_name);
        textLast.setText(last_name);
        txtJob.setText(job);

    } catch (SQLException ex) {
        System.out.println(ex.getMessage());
    }
}

getConcurrency(); 的结果是 1007(只读)。 我做错了什么?我找不到错误。

最佳答案

这不是因为您在 rs.deleteRow(); 之后使结果集可更新吗? 也许如果你放置

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

rs.deleteRow(); 之前有效。

关于java - 结果集不可更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291650/

相关文章:

mysql - 将 INDEX 应用于外键的正确方法

sql-server - 如何重建表以释放已删除旧列使用的空间

java - 传输原始数据,例如 int、float-tuple : More efficient to parse strings or convert to byte array?

java - JSP:无法弄清楚如何为 GlassFish 3.1.2 响应设置 UTF-8

MySQL:选择每个用户的最后x项

sql - GROUP BY ROLLUP 生成不必要的行

java - 如何对数据库表中的所有行的int列加1或减1

python - Django 条件聚合

java - 我们可以结合 Google App Engine Cloud Endpoints 和 Spring Boot REST Web 服务吗

java - 随机错误和 boolean 错误