本文主要是介绍在cocos2dx中怎么使用sqlite来纪录数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8862737
花了一些时间来调查sqlite在cocos2dx中的集成,在这个过程中遇到了些问题,特意纪录下来。
1)下载sqlite源代码,并解压到工程中[这步不需要了,cocos2dx中已经加入了sqlite,只需引用头文件sqlite3.h就可以了]:
源代码位置:http://www.sqlite.org/download.html
减压到工程中(shell.c不需要),在xcode中如下:
2) 打开数据库:
先用sqlite工具创建一个数据库,叫test.db;(工具可以使用sqlite提供的命令行工具;在sqlite下载页面中的Precompiled Binaries );
把test.db拷贝到Resource文件夹下,并加入工程,如下图:
然后调用如下代码,打开数据库:
std::string filename = CCFileUtils::sharedFileUtils()->fullPathForFilename("test.db");result = sqlite3_open(filename.c_str(), &pDB);CCLog(filename.c_str());if( result != SQLITE_OK )CCLog( "打开数据库失败,错误码:%d ,错误原因:%s\n" , result, errMsg );elseCCLog("成功地打开了数据库");
3)创建表和插入数据:
//创建表,设置ID为主键,且自动增加result=sqlite3_exec( pDB, "create table MyTable_1( ID integer primary key autoincrement, name nvarchar(32) ) " , NULL, NULL, &errMsg );if( result != SQLITE_OK )CCLog( "创建表失败,错误码:%d ,错误原因:%s\n" , result, errMsg );//插入数据sqlstr=" insert into MyTable_1( name ) values ( '克塞' ) ";result = sqlite3_exec( pDB, sqlstr.c_str() , NULL, NULL, &errMsg );if(result != SQLITE_OK )CCLog( "插入记录失败,错误码:%d ,错误原因:%s\n" , result, errMsg );//插入数据sqlstr=" insert into MyTable_1( name ) values ( '葫芦娃' ) ";result = sqlite3_exec( pDB, sqlstr.c_str() , NULL, NULL, &errMsg );if(result != SQLITE_OK )CCLog( "插入记录失败,错误码:%d ,错误原因:%s\n" , result, errMsg );//插入数据sqlstr=" insert into MyTable_1( name ) values ( '擎天柱' ) ";result
这篇关于在cocos2dx中怎么使用sqlite来纪录数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!