SQlite的使用
编辑教程SQlite的使用
在CrossApp中,简单数据存储,可以使用CAUserDefault。那么如何存储大量,不规则的数据?
可以使用SQLite数据库存储数据。SQLite是使用非常广泛的嵌入式数据库,它有小巧 、高效、跨平台、开源免费和易操作的特点。
SQLite数据库是使用C语言来编写的,在CrossApp中使用也是非常容易的。
CrossApp已经添加了SQlite的,在CrossApp\extensions\sqlite3目录,我直接使用就可以了。
引入头文件
#include "CrossAppExt.h"
创建数据库
//数据库指针
sqlite3 *pdb=NULL;
//保存数据库的路径
std::string path= CCFileUtils::sharedFileUtils()->getWritablePath()+"save.db";
std::string sql;
int result;
//打开一个数据,如果该数据库不存在,则创建一个新的数据库文件
result=sqlite3_open(path.c_str(),&pdb);
if(result!=SQLITE_OK)
{
CCLog("open database failed, number%d",result);
}
SQL语句
//创建数据库表的sql语句
sql="create table student(ID integer primary key autoincrement,name text,sex text)";
创建Talbe
//创建表格
result=sqlite3_exec(pdb,sql.c_str(),NULL,NULL,NULL);
if(result!=SQLITE_OK)
CCLog("create table failed");
插入
//向表内插入3条数据
sql="insert into student values(1,'student1','male')";
result=sqlite3_exec(pdb,sql.c_str(),NULL,NULL,NULL);
if(result!=SQLITE_OK)
CCLog("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)
CCLog("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)
CCLog("insert data failed!");
查询
//查询结果
char **re;
//行、列
int r,c;
//查询数据
sqlite3_get_table(pdb,"select * from student",&re,&r,&c,NULL);
CCLog("row is %d,column is %d",r,c);
//将查询出的数据通过log输出
for(int i=1;i<=r;i++)
{
for(int j=0;j<c;j++)
{
CCLog("%s",re[i*c+j]);
}
}
sqlite3_free_table(re);
删除
sql="delete from student where ID=1";
//删除id=1的学生的信息
result=sqlite3_exec(pdb,sql.c_str(), NULL,NULL,NULL);
if(result!=SQLITE_OK)
CCLog("delete data failed!");
注意
使用sqlite一定要注意的内存管理问题,那就是打开数据库之后,数据操作完成之后,一定要关闭数据库,否侧会造成内存泄漏。
sqlite3_close(pdb);
SQlite保存路径
Android:
/data/data/com.youCompany.Helloworld/files/save.db
IOS:
位于程序沙盒的文档目录下
../Documents/save.db
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟