Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite 如何正确获取数据库中的下一行_Sqlite_Firemonkey_Firedac_Delphi 10.3 Rio - Fatal编程技术网

Sqlite 如何正确获取数据库中的下一行

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 :=

我已经尝试使用RecsSkip作为find,但是当我设置RecsSkip时,它仍然会获取第一组行。我已经尝试使用FetchNext,它已经运行了一段时间。当我抓到第二盘时,它会工作,然后不会抓到第三盘

第一个抓斗:

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中的基本规则。谢谢