这个问题在这里已经有答案了:
结果集异常-在结果集开始之前(6个答案)
两年前关门了。
try {
String sql ="select * from staff where id=? ";
pst=conn.prepareStatement(sql);
pst.setString(1,txt_search.getText());
rs=pst.executeQuery();
String add1 =rs.getString("id");
txt_empid.setText(add1);
String add2 =rs.getString("Name");
txt_firstname.setText(add2);
String add5 =rs.getString("Salary");
txt_salary.setText(add5);
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
在这里,我在setstring方法中遇到了一些问题。你能解释一下这个错误的原因吗。我尝试了很多方法这是jdbc的问题吗
1条答案
按热度按时间mznpcxlj1#
你可以想出一个
ResultSet
作为返回数据的迭代器。要访问返回数据中的任何一行,包括第一行,您需要通过调用next()
. 或者,正如文档雄辩地指出的那样(我在相关句子中添加了粗体强调):一
ResultSet
对象保持指向其当前数据行的光标。最初,光标位于第一行之前。下一个方法将光标移动到下一行,因为它返回false
当表中没有更多行时ResultSet
对象,可以在while循环中使用它来迭代结果集。)长话短说
rs.next()
执行查询以将其前进到第一行(也是唯一一行)之后: