从 java.resultset .sql 检索列名
有没有办法通过使用列的索引来获取列的名称?我查看了API文档,但我找不到任何东西。java.sql.ResultSet
String
有没有办法通过使用列的索引来获取列的名称?我查看了API文档,但我找不到任何东西。java.sql.ResultSet
String
您可以从元数据中获取此信息。See ResultSetMetaDataResultSet
例如:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
String name = rsmd.getColumnName(1);
你可以从那里获得列名。如果您这样做
select x as y from table
然后也会得到你检索到的标签名称。rsmd.getColumnLabel()
除了上述答案之外,如果您正在使用动态查询,并且想要列名但不知道有多少列,则可以使用 ResultSetMetaData 对象先获取列数,然后循环浏览它们。
修改布莱恩的代码:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
// The column count starts from 1
for (int i = 1; i <= columnCount; i++ ) {
String name = rsmd.getColumnName(i);
// Do stuff with name
}