从 java.resultset .sql 检索列名

2022-08-31 05:34:44

有没有办法通过使用列的索引来获取列的名称?我查看了API文档,但我找不到任何东西。java.sql.ResultSetString


答案 1

您可以从元数据中获取此信息。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()


答案 2

除了上述答案之外,如果您正在使用动态查询,并且想要列名但不知道有多少列,则可以使用 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
}

推荐