微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

在这个例子中……

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐