gpt4 book ai didi

c++ - 如何在 C++ 中以单个类方法获取 SQLite 记录

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:54 24 4
gpt4 key购买 nike

在这个例子中...

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() Callback function Clarification 的重复问题.在那个问题中,作者主要询问 回调是如何在 sqlite3_exec() 中使用的。在我的问题中,我问的是如何对 SQLite3 代码执行自上而下的方法而不是使用回调。碰巧有人留下了解决我的问题的答案(请注意,不是已批准的答案),而不是那个作者的问题。

最佳答案

以自上而下(而不是回调)的方式执行此操作的最佳解决方案是不使用 sqlite3_exec() .相反,用 sqlite3_prepare_v2() 来做, sqlite3_step() , 然后 sqlite3_finalize() .或者,可以使用各种 sqlite3_bind_*() 注入(inject)/绑定(bind)查询参数电话。

Here's an example of the proper code for that.

关于c++ - 如何在 C++ 中以单个类方法获取 SQLite 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35141039/

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