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

在Quick-cocos2d-x中使用sqlite3数据库

发布时间:2020-12-14 17:06:05 所属栏目:百科 来源:网络整理
导读:今天想在quick中使用sqlite3数据库,网上没有找到比较通俗易懂的教程,大部分都是使用过程中的提问,所以记录一下,以后忘记了可以找起来方便一点。 我用的quick是泰然的社区版Quick-Cocos2dx-Community,可能是3.5吧,里面是有lsqlite的,所以这还是挺方便

今天想在quick中使用sqlite3数据库,网上没有找到比较通俗易懂的教程,大部分都是使用过程中的提问,所以记录一下,以后忘记了可以找起来方便一点。

我用的quick是泰然的社区版Quick-Cocos2dx-Community,可能是3.5吧,里面是有lsqlite的,所以这还是挺方便的。

然后就是使用了,http://lua.sqlite.org/index.cgi/doc/tip/doc/lsqlite3.wiki这是api文档,连我这个英语渣都能看懂,相信大家问题不大。然后代码如下:


Log如下:


成功了对吧,很简单。不过这里面有个坑的,对于初学者来说,可能出现问题了都很难发现是啥原因。就是你的db文件放在资源文件夹res里的时候,它是不可读写的(不知道这么说是否确切)。所以当你使用sqlite3.open(“xxx”),然后在查表使用db:nrows的时候,它永远告诉你no such table。解决的办法就是把db文件复制到可读写路径中,由于我对FileUtils这个类不是很熟悉,找了一下没有找到复制文件的方法,所以就用Lua绑定C++自定义的类写了一个复制文件的方法。在使用sqlite3.open(“xxx”)方法前,调用一下这个方法,然后在open中传入可读写路径下的绝对路径(cc.FileUtils:getInstance():getWritablePath() .. “UserData.db”),就可以查到那个表了。

自定义方法如图:



Lua绑定C++自定义方法在我上一篇日志中有写。哈哈,平时一直利用空闲时间把所做的C++项目用quick写一点,写一点,到目前为止,之前能想到的比较难搞的问题就都解决了,很开心~

(编辑:李大同)

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

    推荐文章
      热点阅读