Select SQLITE3 step()返回在只有一行的表上完成的SQLITE_
我正在sqlite3数据库上执行SELECT语句。当结果应该是表中的第一行时,返回值总是SQLITE_DONE而不是SQLITE_row,我无法得到结果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_
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
),您是如何准备的,以及您试图检索的数据库中的哪一行?我刚刚重写了代码,现在它似乎可以工作了,不确定错误是什么