0

对于标准查询,我对此没有任何问题。我只是:

ResultSet rs = stmt.executeQuery("SELECT a, b FROM table_name");
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();

for (int i = 1; i < numberOfColumns + 1; i++) {
    String fieldName = rsMetaData.getColumnName(i);
    System.out.print(fieldName + ",  ");
}

但是当我将字段名称分配给另一个名称时,即

ResultSet rs = stmt.executeQuery("SELECT a AS foo, b AS bar FROM table_name");

它会引发错误,因为ab找到字段。

我应该如何解决这个问题?谢谢

4

1 回答 1

4

列名列标签之间有区别。ResultSet期望列标签中的方法。所以你应该使用方法ResultSetMetaData.getColumnLabel而不是ResultSetmetaData.getColumnName.

于 2012-05-16T19:52:53.180 回答