2012-11-12 50 views
2

比如我有一個表在我的數據庫如下所示:RecordSet的行號爲Object [] []?

| id | first_name | last_name | 
+----+------------+-------------+ 
| 23 | Hans  | Mueller  | 
| 42 | John  | Kramer  | 
| 23 | Max  | Mustermann | 

我怎樣才能讓我的記錄到Object[][],但與實際的行數(例如下面)的列開始?

{ 
    {1, 23, "Hans", "Mueller"}, 
    {2, 42, "John", "Kramer"}, 
    {3, 76, "Max", "Mustermann"} 
}; 
+0

你爲什麼要這麼做? –

回答

1

我怎樣才能讓我的記錄成一個Object [] [],但與實際的行號

的一列開始。如果你正在尋找出的即裝即用JDBC API ,我懷疑是否有一個。如果你願意用ResultSetMetaData,那麼你可以編寫一個函數來形成同一如下:

  1. 採取ResultSet
  2. 使用得到ResultSetMetaData使用rsmd = resultSet.getMetaData()
  3. 得到列數rsmd.getColumnCount()
  4. 遍歷結果集中的每一行,並使用列索引從1開始(不同於索引從0開始的數組)獲取列值。
  5. 使用rsmd.getColumnType(columnIndex)獲取列的數據類型,並根據類型添加適當的實例(可以適當地在java.sql.Types上進行切換)。
+0

謝謝,就是這樣! :) –

0

看一看ORM。如果此的thingie爲遠離您的實際知識,嘗試創建自己的類人似的:

public class Person { 
    int id; 
    String firstname; 
    String surname; 

    public void initByResultSet(ResultSet result) { 
    [...] 
    } 
} 

或者,如果你真的想有這個Object[][]創造一個插上U的ROWNUMBER數據庫的視圖。