1

データベース mysql から jTextarea にデータ (クエリの結果) を表示しようとすると問題が発生します。コンパイルすると、次のようなエラー例外が発生します。

SQL Exception: java.sql.SQLException: Can not issue SELECT via executeUpdate()

名前がjTextFieldNomに書き込まれた名前であるテーブルから「選択」クエリを使用しました。これは私のコードです。問題を解決する方法がわからないため、誰かが私を助けてくれることを願っています。私のクエリは正しいが、どこに問題があるのか​​ わかりません。

String pilote = "com.mysql.jdbc.Driver";
jComboBoxType.addItemListener(new ItemState());
jComboBoxMenaces.addItemListener(new ItemState());
try {
    Class.forName(pilote); 
    Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root"," "); 

    Statement instruction = connexion.createStatement(); 
    String a=jTextFieldNom.getText();


    String SQL = "select description from table where nomcol="+a+";"; 
    ResultSet rs = instruction.executeQuery(SQL);
    instruction = connexion.createStatement();


    int rowsEffected = instruction.executeUpdate(SQL);
    jTextArea1.append(rs.getString("description"));                                     
}
...... //bloc catch
4

1 に答える 1

0

この行は、エラーをスローしている Select ステートメントを実行しています。

int rowsEffected = instruction.executeUpdate(SQL);

データベースを更新していないため、この行は必要ありません。

また、追加を setText に変更します

jTextArea1.setText(rs.getString("description"));

これを試して:

String pilote = "com.mysql.jdbc.Driver";
jComboBoxType.addItemListener(new ItemState());
jComboBoxMenaces.addItemListener(new ItemState());
try {
    Class.forName(pilote); 
    Connection connexion = DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/test","root"," "); 

    Statement instruction = connexion.createStatement(); 
    String a=jTextFieldNom.getText();


    String SQL = "select description from table where nomcol="+a+";"; 
    ResultSet rs = instruction.executeQuery(SQL);

    jTextArea1.setText(rs.getString("description"));                                     
}
于 2012-04-09T19:31:27.827 に答える