java中的SQL - 获取列数

时间:2014-04-21 01:05:17

标签: java sql jdbc resultset

我已经在java上使用sql一段时间了。代码通常是这样的 -

conn = DriverManager.getConnection(url, user, pwd); 
PreparedStatement pstat = conn.prepareStatement("select * from table");
ResultSet rs = pstat.executeQuery();
while(rs.next()){
  System.out.print(rs.getString(1) + "," + rs.getString(2) + "...");
}

我还没有弄清楚如何获得列的总数。我从来不需要它,因为我可以访问DBVisualizer并且知道那里的确切列数。但是,我现在想编写一个java程序,打印出查询的所有结果,因此,需要列数,这样我就可以在while循环中打印所有这些而不是猜测。这是最好的方法吗?

1 个答案:

答案 0 :(得分:2)

使用ResultSetMetaData.getColumnCount() - 返回此ResultSet对象中的列数。

ResultSet rs = pstat.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();

请参阅ResultSetMetaData