java中的sql查询未执行

时间:2014-07-11 18:46:38

标签: java mysql sql resultset

Statement stm ;
ResultSet rr=null;    
String qu =  "SELECT * FROM Pdet";
stm = connn.createStatement();
rr =  stm.executeQuery(qu);
String nn = rr.getString("pid");
JOptionPane.showMessageDialog(null, nn);

代码有什么问题吗?我认为查询存在问题,消息框不会运行!

2 个答案:

答案 0 :(得分:1)

我认为你错过了一步:将光标移动到记录:

  • rr.first()会将光标移动到第一条记录
  • rr.last()会将光标移动到最后一条记录
  • rr.beforeFirst()会将光标移动到表头(第一行之前)。
  • rr.afterLast()会将光标移动到表格页脚(在最后一行之后)
  • rr.next()会将光标移动到下一条记录
  • rr.previous()会将光标移动到上一条记录

请查看The Java Tutorials: JDBC

答案 1 :(得分:0)

while(rr.next()) {
    String nn = rr.getString("pid");
....

ResultSet是一个最初指向结果行第一行之前的指针。您需要通过使用ResulSet接口的next()方法调用您的结果:http://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html