sql Java 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");
它抛出一个错误,因为没有找到a
和b
字段
我该如何满足这种需求?谢谢
# 1 楼答案
列名和列标签之间存在差异。
ResultSet
中的方法需要列标签。所以你应该使用方法ResultSetMetaData.getColumnLabel
而不是ResultSetmetaData.getColumnName