2013-07-10 56 views
0

我在我的項目中使用sqlite3數據庫。爲此,我可以從數據庫中檢索數據,使用以下查詢「select * from tablename」..iOS Sqlite數據庫 - 批處理批量記錄

但是我想從數據庫中取出一百個序列記錄,就像我滾動UITableView基於我想要取100 100條記錄。

我試過以下東西, SELECT * FROM mytable ORDER BY record_date DESC LIMIT 100; - 它只回收100條記錄。當我滾動表格時,我想取下100條記錄並顯示它。

是否有可能做到這一點

請指導我。

+1

將'OFFSET#'子句添加到查詢的末尾。請參閱http://www.sqlite.org/lang_select.html#orderby – rmaddy

回答

1

您可以簡單地使用OFFSET clause,但這仍然會強制數據庫計算您正在跳過的所有記錄,因此對於較大的表而言,這將變得效率低下。

你應該做的是保存前一頁面的最後record_date值,並繼續執行下面的:

SELECT * 
FROM MyTable 
WHERE record_date < ? 
ORDER BY record_date DESC 
LIMIT 100 

詳見https://www.sqlite.org/cvstrac/wiki?p=ScrollingCursor