Sqlite 如何正确获取数据库中的下一行
我已经尝试使用RecsSkip作为find,但是当我设置RecsSkip时,它仍然会获取第一组行。我已经尝试使用FetchNext,它已经运行了一段时间。当我抓到第二盘时,它会工作,然后不会抓到第三盘 第一个抓斗:Sqlite 如何正确获取数据库中的下一行,sqlite,firemonkey,firedac,delphi-10.3-rio,Sqlite,Firemonkey,Firedac,Delphi 10.3 Rio,我已经尝试使用RecsSkip作为find,但是当我设置RecsSkip时,它仍然会获取第一组行。我已经尝试使用FetchNext,它已经运行了一段时间。当我抓到第二盘时,它会工作,然后不会抓到第三盘 第一个抓斗: dmMain.Query.SQL.Text := 'SELECT * FROM cards;'; dmMain.Query.Open(); 顺序抓取: dmMain.Query.Disconnect(); dmMain.Query.FetchOptions.RecsSkip :=
dmMain.Query.SQL.Text := 'SELECT * FROM cards;';
dmMain.Query.Open();
顺序抓取:
dmMain.Query.Disconnect();
dmMain.Query.FetchOptions.RecsSkip := skip * dmMain.Query.FetchOptions.RowsetSize;
dmMain.Query.Open();
and I have tried
// dmMain.Query.FetchNext();
我将我的评论转化为回答: 要从SQLite获取行块,请将
LIMIT
子句与OFFSET
一起使用
LIMIT
子句用于为整个SELECT语句返回的行数设置上限
可选的
OFFSET
子句,可在LIMIT
子句之后。从返回的结果集中省略前M行,然后返回下N行,其中M和N是偏移量
和限制
子句计算的值,分别。我不太清楚:您想从SQLite数据库中获取行,但跳过第一行并限制返回的行数?如果这是您要查找的内容,请在SELECT语句中使用LIMIT和OFFSET。请参见想要获取第一组行的过程数据。准备好后,抓取下一组并进行处理。重复,直到完成。谢谢。虽然做了一些工作,但效果不错。@krg请将我的答案标记为“已接受”(答案左侧的勾号),以便其他人知道找到了解决方案。这是StackOverflow中的基本规则。谢谢