SQLITE3 step()在表上返回SQLITE_DONE,只有一行

时间:2010-12-22 21:59:40

标签: select sqlite

我正在sqlite3数据库上执行SELECT语句。当结果应该是表中的第一行时,返回值总是SQLITE_DONE而不是SQLITE_ROW,我无法得到结果。

do  {
ret.error = sqlite3_step(stmt);
debug("error: %d",ret.error);
if(ret.error == SQLITE_ROW)
{
  [...]
} } while(ret.error != SQLITE_ERROR && ret.error != SQLITE_DONE && 
ret.error != SQLITE_MISUSE);

谁能告诉我我做错了什么? (查询正确...)

2 个答案:

答案 0 :(得分:0)

从“调试”配置切换到“发布”为我解决了这个问题。

答案 1 :(得分:0)

把:

sqlite3_finalize(statement);
While循环之后