Select SQLITE3 step()返回在只有一行的表上完成的SQLITE_

Select SQLITE3 step()返回在只有一行的表上完成的SQLITE_,select,sqlite,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_

我正在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);
谁能告诉我我做错了什么?(查询正确…

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

放:

sqlite3_finalize(statement);

While循环之后

您是否100%确定内部“if”语句(
if(ret.error==SQLITE\u行)
)中的代码永远不会到达?如果您的
stmt
有效,则
ret.error
的最终值将始终为SQLITE\u DONE。建议:什么是SQL语句(
stmt
),您是如何准备的,以及您试图检索的数据库中的哪一行?我刚刚重写了代码,现在它似乎可以工作了,不确定错误是什么