【问题标题】:How to get column name list from java.sql.ResultSet [duplicate]如何从 java.sql.ResultSet 获取列名列表 [重复]
【发布时间】:2017-08-14 08:59:52
【问题描述】:
try{

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

}

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

【问题讨论】:

    标签: java jdbc resultset


    【解决方案1】:

    resultSet.getMetadata() 会返回一个 ResultSetMetaData 对象,该对象具有列名(例如 resultSet.getMetadata().getColumnName(1)

    【讨论】:

    • 如果你想知道结果集的列名,那么getColumnLabel更正确。 getColumnLabel 返回别名或原始列名(如果没有别名),而getColumnName 返回基础列的名称(如果有)。
    【解决方案2】:

    显示这个:

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

    【讨论】:

      【解决方案3】:

      你可以使用 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);
      }
      

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

          试试这个...

          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
          }
          

          【讨论】:

          • 添加一个小解释来解释这段代码。
          猜你喜欢
          • 2010-10-16
          • 2011-08-24
          • 2020-11-23
          • 2023-03-16
          • 1970-01-01
          • 2015-09-12
          • 1970-01-01
          • 2021-10-18
          • 1970-01-01
          相关资源
          最近更新 更多