gpt4 book ai didi

c++ - 如何使用 sqlite3_step 迭代 sqlite3 中的行?

转载 作者:行者123 更新时间:2023-11-28 03:37:48 27 4
gpt4 key购买 nike

在 SQLite3DB.cpp 中,我有一些代码:

   void QueryJsFileBegin() {
SQLite3Initilize();
}

bool QueryJsFileNext(JS_FILE* js_file) {
int err = sqlite3_step(stmtQueryJSFILE);
if (err != SQLITE_ROW)
return false;
// get data.
return true;
}

void QueryJsFileEnd() {
sqlite3_reset(stmtQueryJSFILE);
}

当我在 SQLite3DB.cpp 中测试它们时,它们工作正常

void test () {
db::JS_FILE js_file;
for (db::QueryJsFileBegin(); db::QueryJsFileNext(&js_file); db::QueryJsFileEnd()) {
MessageBoxA(NULL, js_file.js_file_name_.c_str(), "", 0);
}
}

但是当我在其他 cpp(如 main.cpp)文件中使用它们时,它总是返回第一行和死循环。谢谢你的帮助。

最佳答案

因为在 for 的 step 部分,您正在运行 sqlite3_reset(),所以它在第一行之后关闭。

关于c++ - 如何使用 sqlite3_step 迭代 sqlite3 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346354/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com