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

aフィールドとbが見つからないため、エラーがスローされます。

これにはどのように対応すればよいですか?ありがとう

4

1 に答える 1

4

列名列ラベルには違いがあります。のメソッドはResultSet列ラベルを期待します。ResultSetMetaData.getColumnLabelしたがって、の代わりにメソッドを使用する必要がありResultSetmetaData.getColumnNameます。

于 2012-05-16T19:52:53.180 に答える