前提
selectを使用してテーブルにあるデータを取得したいのですが、エラーが発生しました。
自分なりに調べたのですが、解決が難しかったため、こちらで質問した次第です。
実現したいこと
・selectを使用してのデータ取得
発生している問題・エラーメッセージ
java.sql.SQLException: Statement.executeQuery() cannot issue statements that do not produce result sets.
該当のソースコード
テーブル内にあるid(rsid)と入力されたid(idStr)を比較して、同じものがあった場合、エラー文を表示させるプログラム。
Btn0.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String idStr = new String(idField.getText()); //入力されたid System.out.println("idStr:"+idStr); //入力の確認 try { Statement stmt = conn.createStatement(); String SQL = "selsct * from user"; ResultSet rs = stmt.executeQuery(SQL); while(rs.next()){ String rsid = rs.getString("id");//selectで取得したid System.out.println(rsid); if(idStr == rsid) { String[] options = { "確認" }; JOptionPane.showOptionDialog(account.this, "登録済みのidです。", "確認失敗", JOptionPane.OK_OPTION, JOptionPane.ERROR_MESSAGE, null, options, options[0]); idField.setText(""); } } rs.close(); stmt.close(); }catch(SQLException s) { s.printStackTrace(); } } }); id.add(Btn0);
試したこと
エラーメッセージを翻訳にかけたところ、executeQuery()は使用できないのようなことが出てきたが、
インターネット上にある、selectを使用しているプログラムはexecuteQuery()を使用していたため、詰まってしまった状態です。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
0 コメント