加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在C语言中以单类方法获取SQLite记录

发布时间:2020-12-12 18:54:39 所属栏目:百科 来源:网络整理
导读:在这个例子中…… http://www.sqlite.org/quickstart.html …我看到如何使用带有回调类方法或函数的sqlite3_exec()来获取记录集并迭代它. 那么,如果我想创建一个类DB并拥有一个静态类方法该怎么办呢 static void * getRS(void * hDB,std :: string sSQL)?
在这个例子中……

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_*()调用注入/绑定查询参数.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读