有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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");

它抛出一个错误,因为没有找到ab字段

我该如何满足这种需求?谢谢


共 (1) 个答案

  1. # 1 楼答案

    列名列标签之间存在差异。ResultSet中的方法需要列标签。所以你应该使用方法ResultSetMetaData.getColumnLabel而不是ResultSetmetaData.getColumnName