我发现滚动结果集的常用方法是使用sqlite3_step():
while (sqlite3_step(statement) == SQLITE_ROW) {
// do something with the row
}
有没有办法向后滚动结果集,比如退一步或使用ROWID访问上一行?
在某处我读过你可以通过它的ROWID检索结果集的每条记录,但我无法弄清楚如何。
如果没有这样的方法来检索结果集中的任意行,我想知道这是不好的做法还是只是技术限制的原因。
答案 0 :(得分:2)
所以我正在浏览sqlite3框架中的函数,因为我在网上找不到任何文档,发现了这个:
sqlite3_reset(statement)
我没有测试,但是因为它需要sqlite3_stmt就像sqlite3_step()一样,我认为它会将结果集重新回到开头。