java - 无法从记录集中检索多个结果

标签 java jdbc

此代码仅从数据库中检索 1 条记录。

如何使用下一步按钮从数据库检索其余记录

public void Next()
{
  Connection con=null;
  ResultSet rs=null;

  try {
    con=DBConnection();
    Statement stmt=con.createStatement();
    rs= stmt.executeQuery("select * from info where id=1");

    while(rs.next())
    {            
      t1.setText(rs.getString("Name"));
      t2.setText(rs.getString("Branch"));             
    }
  } catch (Exception e) {
    // TODO: handle exception
  }finally{
    try {
      rs.close();
    } catch (SQLException err) {
      JOptionPane.showMessageDialog(btnnext, err.getMessage());
      // TODO: handle exception
    }
  }
  //return rs;
}

最佳答案

首先分两步执行此操作:

在 next() 方法之外创建数据库连接,除非您无法获取其他记录:

    Connection con=null;
    ResultSet rs=null;

    try {
        con=DBConnection();
        rs = con.createStatement().executeQuery("select * from info where id=1");
    }

其次,迭代查询:

public boolean Next()

{
 if(!rs.next()) { //if no next then we should deactivate the next button
   return false;
  } else {
  t1.setText(rs.getString("Name"));
  t2.setText(rs.getString("Branch")); 
  return true;
  }
}

另请确保以下查询:

select * from info where id=1

将返回超过 1 行,您可以尝试使用没有 where 并返回更多行的查询。

关于java - 无法从记录集中检索多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520980/

相关文章:

Java CookieManager 或 CookieHandler 过期了吗?

java - 来自钱包的虚假推送和未更改的传递错误

java - 从 Java 重新启动 postgres 后重新连接到 postgres 数据库

jdbc - 应用程序脚本 : remote database password security

java - 重新连接数据库后如何复用JDBC中的Statement?

java - SwingUtilities 中的 invokeAndWait 方法

java - 如何使用斯坦福 CoreNLP 从 TreeAnnotation 中提取未标记/未类型化的依赖树?

java - 如何使用数据库在java swing gui中显示特定值?

mysql - 按定义的顺序执行多个 JDBC 查询

java - 如何根据JDBC结果集创建表