当我尝试将数据(查询结果)从我的数据库mysql显示到我的jTextarea时遇到问题,当我编译时出现错误异常,如:
SQL Exception: java.sql.SQLException: Can not issue SELECT via executeUpdate()
我在我的表中使用了一个“select”查询,其名称是我的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
答案 0 :(得分: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"));
}