2015-03-13 33 views
-1

我得到错误在if(rs.next())和.getString在我的代码。这是我的代码我得到错误“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

和错误是? – 2015-03-13 12:39:08

+0

找不到符号 – 2015-03-13 12:39:31

+0

那么意味着'Result'类没有名为'next'或'getString'的方法。 – TNT 2015-03-13 12:41:07

回答

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){} 
} 

而且,如果函数对象方法的发现(字符串搜索)返回一个有效java.sql.ResultSet中实现,你可以使用next()移动指针到下一个结果,并检查如果它有一个。然后你可以很容易地使用getString(String columnName)来获取一个字段的值。

我会在像这样的方法中返回ResultSet。让你的Function类方法直接返回你想要的值或空或空字符串。在这里处理ResultSet并不是一个好习惯。把你的关注放在一起。

+0

我不明白。它看起来像我以前的代码。我应该怎么做才能消除错误? – 2015-03-13 12:56:12

+0

使用ResultSet !!!!!我认为你真正的问题在Function类中。这真的是这个班的名字吗? – 2015-03-13 12:56:43

+0

哦超感谢先生。我修复了这个错误。 :) – 2015-03-13 12:57:08