您的位置:首页 > 移动开发 > Cocos引擎

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

2016-06-23 17:53 288 查看
  今天想在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写一点,写一点,到目前为止,之前能想到的比较难搞的问题就都解决了,很开心~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: