0

databasemetadata を使用して列のサイズを見つけます。しかし、getColumns(null,null,"table_name",null) は空の結果セットを返します。クエリを実行してテーブルを確認したところ、テーブルが存在します。エラーはどこにありますか? 前もって感謝します!

アップデート:

Connection connection = getConnection(); //getting the connection -   
Statement st = connection.createStatement();  
ResultSet rs = st.executeQuery("select * from table_name");  
while (rs.next()) { 
   System.out.println(rs.getString("column_name")); //The values get printed 
}
ResultSet rsColumns = null;
DatabaseMetaData meta = connection.getMetaData();
rsColumns = meta.getColumns(null, null, "table_name",null);     
System.out.println(rsColumns.next()); // I get false here which means resultset is empty. But I dunno why.
4

2 に答える 2

0

どのデータベースを使用していますか? これはおそらく、引用符で囲まれていない識別子の処理方法に関連しており、標準に従うデータベースはそれらを自動的に大文字で保存します。メソッドを呼び出すことで、それが行われるかどうかをプログラムで確認できますstoresUpperCaseIdentifiers

解決策は、テーブルの作成中に引用符で囲まれた識別子を使用するか、true を返すtoUpperCase場合はテーブル名の文字列でメソッドを呼び出すことです。storesUpperCaseIdentifiers

于 2011-01-06T21:00:22.883 に答える