cocos2dx - SQlite
来源:互联网 发布:日向日足 知乎 编辑:程序博客网 时间:2024/06/05 13:34
sqlite3 *pdb=NULL;//创建sqlite指针
std::string path= FileUtils::getInstance()->getWritablePath()+"save.db";//指定数据库路径
std::string sql;//需要执行的sql语句
int result;
result=sqlite3_open(path.c_str(),&pdb);//打开数据库,如果不存在则创建一个
if(result!=SQLITE_OK)
{
log("open database failed, number%d",result);
}
sql="create table student(ID integer primary key autoincrement,name text,sex text)";//创建数据库表
result=sqlite3_exec(pdb,sql.c_str(),NULL,NULL,NULL);
if(result!=SQLITE_OK)
log("create failed");
sql="insert into student values(1,'student1','male')"; //插入数据
result=sqlite3_exec(pdb,sql.c_str(),NULL,NULL,NULL);
if(result!=SQLITE_OK)
log("insert data failed!");
sql="insert into student values(2,'student2','female')";
result=sqlite3_exec(pdb,sql.c_str(),NULL,NULL,NULL);
if(result!=SQLITE_OK)
log("insert data failed!");
sql="insert into student values(3,'student3','male')";
result=sqlite3_exec(pdb,sql.c_str(),NULL,NULL,NULL);
if(result!=SQLITE_OK)
log("insert data failed!");
char **re;//查询结果
int r,c;//行、列
sqlite3_get_table(pdb,"select * from student",&re,&r,&c,NULL);//查询
log("row is %d,column is %d",r,c);
for(int i=1;i<=r;i++)//2
{
for(int j=0;j<c;j++)
{
log("%s",re[i*c+j]);
}
}
sql="delete from student where ID=1";
result=sqlite3_exec(pdb,sql.c_str(), NULL,NULL,NULL);//删除数据
if(result!=SQLITE_OK)
log("delete data failed!");
sqlite3_free_table(re);//释放数据表
sqlite3_close(pdb);//关闭数据库
数据操作完成之后,一定要关闭数据库,否侧会造成内存泄漏。
数据文件存放的位置:
- Android:
1
/data/data/com.youCompany.Helloworld/files/save.db
- iOS:
位于程序沙盒的文档目录下
1
../Documents/save.db
- cocos2dx - SQlite
- cocos2dx中的游戏储存-SQLite
- cocos2dx c++ 使用sqlite数据库
- cocos2dx记录存储:SQLite基本使用
- cocos2dx Lua项目中添加Sqlite
- cocos2dx学习笔记(sqlite的使用)
- cocos2dx sqlite语句不运行的问题
- 在cocos2dx中怎么使用sqlite来纪录数据
- cocos2dx中web+json+sqlite整合demo
- cocos2dX封装的Sqlite数据库的操作类
- cocos2dx引擎中lua使用加密sqlite数据库
- cocos2dx sqlite第三方库的资源保存和调用
- 转cocos2dx官网上的sqlite基础使用
- cocos2dx Excel表格数据通过csv保存到数据库sqlite
- Cocos2dx引擎笔记——SQLite集成与用法
- Cocos2dx Android真机环境使用Sqlite数据库
- cocos2dx里的sqlite数据库加密,且不影响sqlite工具打开阅读数据
- cocos2dx
- Android 三种方式实现自定义圆形页面加载中效果的进度条
- 生活常识
- C++基础(using)
- [译]Google C++编程风格指南(五)
- cocos2dx之控制台输出
- cocos2dx - SQlite
- SAX解析方式
- 查看局域网主机ip
- ORA-02287:此处不允许序号(sequence number not allowed here) 的避免以及强制实现
- POJ 3525 Most Distant Point from the Sea
- 我对学习的一点看法
- 残花败柳
- 简单的ant打包,修改渠道号
- JavaScript之一:简介和使用