在这个例子中...
http://www.sqlite.org/quickstart.html
...我看到了如何使用sqlite3_exec()回调类方法或函数来获取记录集并对其进行迭代。
好吧,如果我想创建一个类DB并有一个静态类方法怎么办
static void * getRS(void *hDB,std::string sSQL) ?
我对 C++ 有点陌生,但很快就掌握了它。在 C++ 中有没有办法像 Lambda 函数一样创建,从中获取结果,然后将它们传回?或者,是否有另一种技术可以返回我可以遍历每一行的 std::map、std::multimap 等?
(注意,我正在使用 XCode 并从我的 Objective C 项目中的 db.static.mm 文件调用 C++,如果这很重要的话。)
这个问题不是sqlite3_exec() 回调函数澄清的重复。在那个问题中,作者本质上询问了回调是如何在sqlite3_exec(). 在我的问题中,我问的是如何对 SQLite3 代码进行自上而下的处理,而不是使用 callback。碰巧有人留下了解决我的问题的答案(不是批准的答案,请注意),而不是作者的问题。
以自上而下(而不是回调)方式执行此操作的最佳解决方案是不使用sqlite3_exec()。相反,请使用sqlite3_prepare_v2()、sqlite3_step()和sqlite3_finalize()执行此操作。(可选)可以通过各种sqlite3_bind_*()调用注入/绑定查询参数。
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |