2017-04-25 23 views
-1

UCanAccess JDBCドライバを使用してAccessデータベースからすべてのデータベースメタデータを取得しようとしていますが、結果セットをナビゲートするために結果セットのタイプを変更する必要があります。インタフェースdatabasemetadataのメソッドで作成されますか?ここ コードUCanAccessを使用して主キー情報を取得する

v_resultPrimaryKey = p_metadata.getPrimaryKeys(null, Tools.getDBName(), p_table); 

     ResultSet v_resultColumn = p_metadata.getColumns(null, Tools.getDBName(), p_table, null); 

     v_resultPrimaryKey.first(); 

     String v_pkName = v_resultPrimaryKey.getString("COLUMN_NAME"); 
+0

なぜタイプを変更する必要があると思いますか?根底にある問題は何ですか? – EJP

+0

私が ".first"を使用するのを忘れると、私には、 – kazor02x

+0

がサポートされていません。なぜなら、ucanacessの結果セットはforwardonlyモードなのですから、どうすればいいですか? – kazor02x

答えて

0

あなたは主キー情報を取得するために、ResultSetのタイプを変更する必要はありません。あなたがする必要があるのは...このような出力を生成します。このようなテーブルのための...

InvoiceDetail.png

...

try (Connection conn = DriverManager.getConnection(connUrl)) { 
    try (ResultSet rs = conn.getMetaData().getPrimaryKeys(null, null, "InvoiceDetail")) { 
     while (rs.next()) { 
      System.out.printf("%s (%d)%n", 
        rs.getString("COLUMN_NAME"), 
        rs.getInt("KEY_SEQ")); 
     } 
    } 
} 

...このようなものです:

InvoiceNumber (1) 
LineItemNumber (2) 
関連する問題