检查sqlite查询结果

时间:2009-02-26 06:46:49

标签: iphone sqlite

在停止循环结果之前,如何检查sqlite查询是否返回任何内容。

//see if there are results and do something if not
while(sqlite3_step(selectstmt) == SQLITE_ROW) 
{ /*process on reults */}

1 个答案:

答案 0 :(得分:2)

我想我在你的问题中遗漏了一些东西,如果它返回SQLITE_ROW,那么它就有一行准备好阅读。

API位于http://www.sqlite.org/capi3ref.html#sqlite3_step

您可以通过列功能访问该数据:

http://www.sqlite.org/capi3ref.html#sqlite3_column_blob

所以你基本上做的是正确的,而sqlite3_step返回SQLITE_ROW你还有数据要访问。

//澄清

SQLite使用sqlite3_step抓取并一次为您提供一行,调用它将不会检索整个结果集。因此,除非您打电话给步,否则您将无法获知数据。

当我在嵌入式设备上工作时,我不得不使用SQLite,但总是通过一个体面的DAL。我不是它的API的忠实粉丝,但我认为它很轻。