2017-04-25 83 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的結果集處於正向模式,我該如何更改它 – kazor02x

回答

0

你並不需要改變,以便檢索主鍵信息ResultSet類型。所有你需要做的就是這樣的事情...

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

...這對於像這樣的表...

InvoiceDetail.png

...會產生輸出這樣的:

InvoiceNumber (1) 
LineItemNumber (2)