如何按原样显示或打印数据库表的内容?

新手上路,请多包涵

我想使用 Java 代码从数据库中获取一个表。我试过的示例代码只有两列。我希望获取的数据与表中的数据完全一样。我怎么做 ?

这段代码只给了我两行,并排 -

 while (rs.next()) {
System.out.println(rs.getString(4) + " " + rs.getString(6));

}

完整的例子在 -

http://msdn.microsoft.com/en-us/library/aa342339.aspx

 This is what I tried -

         int size = 0;
         if(rs != null){

            rs.beforeFirst();
            rs.last();
            size = rs.getRow();

         }

         System.out.println("cols = " + size);

并出现错误 - 仅转发结果集不支持请求的操作。

原文由 sky scraper 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 450
2 个回答

使用此代码

Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();

int columnsNumber = rsmd.getColumnCount();

来源 - 如何从 JDBC ResultSet 中获取列数?

使用该代码后,可以像 DBMS 显示的那样显示结果,如下所示 -

 ResultSetMetaData rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();

// Iterate through the data in the result set and display it.

while (rs.next()) {
//Print one row
for(int i = 1 ; i <= columnsNumber; i++){

      System.out.print(rs.getString(i) + " "); //Print one element of a row

}

  System.out.println();//Move to the next line to print the next row.

    }

此示例中未显示列名。

原文由 sky scraper 发布,翻译遵循 CC BY-SA 3.0 许可协议

我在 这里 发布了一个类似问题的答案,但我相信这个问题也很相关,也许更相关。简而言之,我编写了一个简单的实用程序类来将 db 表行打印到标准输出(部分娱乐,部分学习)。它可能对某人有用(至少我希望如此)。

这是 GitHub 上代码库的链接: https ://github.com/htorun/dbtableprinter

这是基本用法:

 // Create a connection to the database
Connection conn = DriverManager.getConnection(url, username, password);

// Just pass the connection and the table name to printTable()
DBTablePrinter.printTable(conn, "employees");

它应该打印这样的东西:

 Printing 10 rows from table(s) EMPLOYEES
+--------+------------+------------+-----------+--------+-------------+
| EMP_NO | BIRTH_DATE | FIRST_NAME | LAST_NAME | GENDER |  HIRE_DATE  |
+--------+------------+------------+-----------+--------+-------------+
|  10001 | 1953-09-02 | Georgi     | Facello   | M      |  1986-06-26 |
+--------+------------+------------+-----------+--------+-------------+
|  10002 | 1964-06-02 | Bezalel    | Simmel    | F      |  1985-11-21 |
+--------+------------+------------+-----------+--------+-------------+
    .
    .

原文由 Hami Torun 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题