Java ResultSet获取返回的字段名称

时间:2012-05-16 19:48:53

标签: java sql resultset

对于标准查询,我没有遇到过这个问题。我只是:

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

我应该如何迎合这个?感谢

1 个答案:

答案 0 :(得分:4)

列名称列标签之间存在差异。 ResultSet中的方法需要列标签。因此,您应该使用方法ResultSetMetaData.getColumnLabel而不是ResultSetmetaData.getColumnName