0

プロジェクトで sqlite3 データベースを使用しています。そのために、次のクエリ「select * from tablename」を使用してデータベースからデータを取得できます..

しかし、データベースから 100 のシーケンス レコードを取得したいのですが、UITableView をスクロールして 100 100 レコードを取得したい場合のように。

私は次のことを試しました.SELECT * FROM mytable ORDER BY record_date DESC LIMIT 100; - 100 レコードのみを取得します。テーブルをスクロールすると、次の 100 レコードを取得して表示したいと考えています。

それは可能ですか?

ガイドしてください。

4

1 に答える 1

1

OFFSET単純に句を使用することもできますが、それでもデータベースはスキップするすべてのレコードを計算する必要があるため、大きなテーブルでは非効率になります。

あなたがすべきことはrecord_date、前のページの最後の値を保存し、次のページを続行することです:

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

詳細については、 https://www.sqlite.org/cvstrac/wiki?p=ScrollingCursorを参照してください。

于 2013-07-10T06:49:54.697 に答える