首页 > 解决方案 > 是否有 Java 函数可以抓取数据库中的整个列?

问题描述

我试图分别抓取每一列,并打印数据库中相应列中的每个元素,以供我稍后使用。有没有可以做到这一点的功能?

我试图创建一个函数来打印控制台中的整个列。

Connection conn = DriverManager.getConnection(""jdbc:ucanaccess://C:\\Users\\b0616717\\workspace\\DATABASE.accdb);
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT * DATABASE.accdb");
ResultSetMetaData rsmd = rs.getMetaData();

public void test () throws SQLException {
  for (int x = 1; x < db.rsmd.getColumnCount(); x++) {
    while(rs.next()) {
    String output = rs.getString(x);
    System.out.println(output);
    }
  }
}

I expect it to console print every data in the pertaining column for every column. However, I get only one column printed out.

标签: javasqldatabase

解决方案


你有向后的循环。尝试这个:

public void test () throws SQLException {
    int numCols= db.rsmd.getColumnCount();
    while(rs.next()) {
      for (int x = 1; x <= numCols; x++) {
          String output = rs.getString(x);
         System.out.println(output);
      }
    }
  }

rs.next() 移动到结果集中的下一行。也可以在循环之前获取一次列数(效率更高)。


推荐阅读