如何从 java.sql.ResultSet 获取列名列表

How to get column name list from java.sql.ResultSet

try{

   connection = dataSource.getConnection();
   callableStatement.setInt(2, clientId);
    ....... // some stuff
   resultSet = callableStatement.executeQuery();

}

现在我有一个 resultSet ,但不知道列名?我该如何取回它?

resultSet.getMetadata() returns 你是一个 ResultSetMetaData 具有列名的对象(例如 resultSet.getMetadata().getColumnName(1)

显示这个:

ResultSetMetaData rsmd = resultSet.getMetaData();
String name = rsmd.getColumnName(1);

你可以使用 ResultSetMetaData

 ResultSetMetaData metadata = resultSet.getMetaData();
int columnCount = metadata.getColumnCount();

ArrayList<String> columns = new ArrayList<String>();
for (int i = 1; i < columnCount; i++) {
  String columnName = metadata.getColumnName(i);
  columns.add(columnName);
}

以下代码有助于获取 table 的列名称。

ResultSetMetaData rsmd = resultSet.getMetaData();
int columnsCount = rsmd.getColumnCount();
int i=1;
while (i <= columnsCount){
    String columnName = rsmd.getColumnName(i);
    i++;
}

试试这个...

ResultSetMetaData    rsmd    =    resultSet.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
}