0

プライベート ボイド User_combo() {

    try {

        String sql = "insert into asset_update(User) select (Concat(first_name), ' ', (last_name)) from user";
        pst = conn.prepareStatement(sql);
        rs = pst.executeQuery();

        while (rs.next()) {
            String name = rs.getString("User");
            jComboBox_Users.addItem(name);
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);

    }
}

「executeQuery(); でデータ操作ステートメントを発行できません」というエラーが表示されます。

誰かがこれで私を助けてくれますか? 前もって感謝します

4

1 に答える 1

1

PreparedStatement#executeUpdateを使用する

この PreparedStatement オブジェクトで SQL ステートメントを実行します。これは、INSERT、UPDATE、または DELETE などの SQL データ操作言語 (DML) ステートメントである必要があります。

executeQuery()データベース用 QUERY ステートメント (select と同様)
executeUpdate()データベース用 UPDATE ステートメント
update

  String sql = "insert into asset_update(User) select (Concat(first_name), ' ', (last_name)) from user";
    pst = conn.prepareStatement(sql);
    int i = pst.executeUpdate();//since it is insert statement use executeUpdate()
    if(i>0){
          pst = conn.prepareStatement("Select User from asset_update");
          rs = pst.executeQuery();//since it is select statement use executeQuery()
          while (rs.next()) {
            String name = rs.getString("User");
            jComboBox_Users.addItem(name);
         }
    }
于 2013-09-12T11:12:29.517 に答える