如何从我的数据库Mysql中将数据显示到我的Jtextarea中

时间:2012-04-09 16:33:09

标签: mysql jtextarea

当我尝试将数据(查询结果)从我的数据库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

1 个答案:

答案 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"));                                     
}