【发布时间】:2009-02-26 06:46:48
【问题描述】:
如何在停止循环遍历结果之前检查 sqlite 查询是否返回任何内容。
//see if there are results and do something if not
while(sqlite3_step(selectstmt) == SQLITE_ROW)
{ /*process on reults */}
【问题讨论】:
如何在停止循环遍历结果之前检查 sqlite 查询是否返回任何内容。
//see if there are results and do something if not
while(sqlite3_step(selectstmt) == SQLITE_ROW)
{ /*process on reults */}
【问题讨论】:
我想我在你的问题中遗漏了一些东西,如果它返回 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 获取并一次提供一个行,调用它不会检索整个结果集。所以在你调用 step 之前你不会知道你是否要获取数据。
当我在嵌入式设备上工作时,我不得不使用 SQLite,但总是通过一个不错的 DAL。我不是它的 API 的忠实粉丝,但我猜它是轻量级的。
【讨论】: