在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写一点,写一点,到目前为止,之前能想到的比较难搞的问题就都解决了,很开心~
我用的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写一点,写一点,到目前为止,之前能想到的比较难搞的问题就都解决了,很开心~
相关文章推荐
- cocos lua 关于error: syntax error during pre-compilation
- cocos2d-x加载 csb 文件
- 2016 CocosPods安装教程
- 2016 CocosPods安装教程
- Cocos开发VR菜鸟宝典 第七讲:平台的选择与接入
- Cocos2d-x开发系列 交叉开发模式二 初始化和重启
- cocos2d-android游戏引擎介绍、下载
- 1------Cocos2dx3.0 Lua 初步绑定
- 2------Cocos2dx2.0__3.0 lua绑定C++自定义类方法总结
- 关于cocos-js中的Action
- 自定义事件(2016.6.23)
- cocos-lua-spriteex
- cocos-lua-Nodex
- cocos2d-x循环菜单简单例子
- cocos 自定义事件移除的一个小坑
- Cocos2d-x:截图背景空白
- cocos2d-x Sprite::create(“filename.png”) returning null
- cocos2dx ipv6处理
- EXC_BAD_ACCESS at lauch for EAGLContext renderbufferStorage: fromDrawable: in Cocos2d app whie debug
- cocos2d-x lua 调用onEnter和onExit【转】