本文来介绍下如何在cocos2dx中使用sqlite。首先我们去下载下它的源码http://www.sqlite.org/sqlite-amalgamation-3071000.zip,下载之后解压到cocos2dx引擎目录下。然后到项目中添加下载好的源码,附加依赖项,OK。下面就使用它来存储数据。直接贴代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
sqlite3* pdb = NULL; char* errMsg = NULL; std::string strSql; int result; result = sqlite3_open("save.db", &pdb); if (result != SQLITE_OK) { CCLog("打开数据库失败,%s", errMsg); } result = sqlite3_exec(pdb, "create table MyTable(Id Integer primary key autoincrement,name nvarchar(32))", NULL, NULL, &errMsg); if (result != SQLITE_OK) { CCLog("创建表失败,%s", errMsg); } strSql = "insert into MyTable(name) values ('Orange')"; //添加记录1 result = sqlite3_exec(pdb, strSql.c_str(), NULL, NULL, &errMsg); if (result != SQLITE_OK) { CCLog("插入数据失败,%s", errMsg); } strSql = "insert into MyTable(name) values ('apple')"; //添加记录2 result = sqlite3_exec(pdb, strSql.c_str(), NULL, NULL, &errMsg); if (result != SQLITE_OK) { CCLog("插入数据失败,%s", errMsg); } strSql = "insert into MyTable(name) values ('banana')"; //添加记录3 result = sqlite3_exec(pdb, strSql.c_str(), NULL, NULL, &errMsg); if (result != SQLITE_OK) { CCLog("插入数据失败,%s", errMsg); } //更新第三条记录 strSql = "update MyTable set name = 'English' where id = 3"; result = sqlite3_exec(pdb, strSql.c_str(), NULL, NULL, &errMsg); //删除第二条记录 strSql = "delelte from MyTable where id = 2"; result = sqlite3_exec(pdb, strSql.c_str(), NULL, NULL, &errMsg); //判断表是否存在 bool isExisted = false; strSql = "select count() from sqlite_master where type = 'table' and name = 'MyTable'"; result = sqlite3_exec(pdb, strSql.c_str(), NULL, &isExisted, &errMsg); //读取表中所有记录 strSql = "select * from MyTable"; result = sqlite3_exec(pdb, strSql.c_str(),HelloWorld::loadData, NULL, &errMsg); sqlite3_close(pdb); return true; } int HelloWorld::loadData(void* para, int m_colum, char ** columValue, char ** columName) { CCLog("id = %d", columValue[0]); CCLog("name = %s", columValue[1]); CCLog("columName = %s", columName); return 0; }
注意添加头文件#include "sqlite3.h"。
下面介绍一个SQLite数据库管理工具,自己百度一下下载就OK了,安装好就可以打开我们刚刚保存的save.db文件了,如图所示: