2012-05-21 20 views
0

當我執行SQLite查詢(使用sqlite4java)時,我遵循一步一步地執行並一次獲取一行的一般方案。我的最終結果應該是一個二維數組,其長度應該與記錄數量相對應。我面臨的問題是,事先不知道我的查詢將返回多少條記錄。所以我基本上將它們存儲在一個ArrayList中,然後將指針複製到實際的數組中。有沒有一種技術可以在完全執行之前獲取查詢返回的記錄數?執行SQLite查詢時未知的記錄號

回答

3

我的最終結果應該是一個二維數組,其長度應該與記錄數量相對應。

爲什麼?將結果設置爲List<E>通常會是一個更好的主意,其中E是表示「記錄」的某種自定義類型。

這聽起來像你已經創建了一個ArrayList - 那麼爲什麼你需要一個真正的數組? Collections API通常比直接使用數組更靈活方便。

+0

爲進一步(潛在)硬件加速的目的,真正計算在陣列上的東西 – Bober02

+0

@ Bober02:你*目前需要*硬件加速嗎?我建議你採用目前最簡單的方法 - 如果你以後需要*將引用複製到數組中,這很容易......並且可能比執行兩次查詢更便宜。 –

0

不,如果使用JDBC。但是,您可以首先執行COUNT()查詢,然後執行真正的查詢。