在这个例子中……
http://www.sqlite.org/quickstart.html
…我看到如何使用带有回调类方法或函数的sqlite3_exec()来获取记录集并迭代它.
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_*()调用注入/绑定查询参数.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。