我在“If(rs.next())”和“.getString”上收到错误

时间:2015-03-13 12:38:18

标签: java if-statement

我的代码中的if(rs.next())和.getString出错了。这是我的代码

public void keyPressed(KeyEvent e) {
       Function f = new Function();
Result rs = null;
String ans = "Key";

rs = f.find(jTextField1.getText());
try{
    if(rs.next()){
        jTextArea1.setText(rs.getString("Key"));

    }         
   }catch(Exception ex){

   }
}

1 个答案:

答案 0 :(得分:0)

确定方法next()和getString()是java.sql.ResultSet接口的一部分。您的代码应如下所示:

public void keyPressed(KeyEvent e) {
    Function f = new Function();
    ResultSet rs = null;
    String ans = "Key";

    rs = f.find(jTextField1.getText());
    try{
        if(rs.next()){
            jTextArea1.setText(rs.getString("Key"));
        }         
    }catch(Exception ex){}
}

如果Function对象方法find(String search)返回一个有效的java.sql.ResultSet实现,你可以使用next()将指针移动到下一个Result并检查它是否有一个。然后,您可以轻松地使用getString(String columnName)将列的值作为String。

我会在这样的方法中返回ResultSet。让您的Function类方法直接返回您想要的值或null或空字符串。在这里处理ResultSet不是一个好习惯。保持关注。