1

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 (読み取り専用) です。私は何を間違えたのですか?エラーが見つかりません。

4

2 に答える 2

2

後に結果セットを更新可能にしたからではありませんrs.deleteRow();か?多分あなたが配置すれば

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

それが機能する前にrs.deleteRow();

于 2013-06-25T07:43:45.417 に答える