W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在CrossApp中,簡單數(shù)據(jù)存儲,可以使用CAUserDefault。那么如何存儲大量,不規(guī)則的數(shù)據(jù)?我們可以使用SQLite數(shù)據(jù)庫存儲數(shù)據(jù)。SQLite是使用非常廣泛的嵌入式數(shù)據(jù)庫,它有小巧 、高效、跨平臺、開源免費和易操作的特點。
SQLite數(shù)據(jù)庫是使用C語言來編寫的,在CrossApp中使用也是非常容易的。
CrossApp已經(jīng)添加了SQlite的,在CrossApp\extensions\sqlite3目錄,我直接使用就可以了。
引入頭文件
#include "CrossAppExt.h"
創(chuàng)建數(shù)據(jù)庫
//數(shù)據(jù)庫指針
sqlite3 *pdb=NULL;
//保存數(shù)據(jù)庫的路徑
std::string path= CCFileUtils::sharedFileUtils()->getWritablePath()+"save.db";
std::string sql;
int result;
//打開一個數(shù)據(jù),如果該數(shù)據(jù)庫不存在,則創(chuàng)建一個新的數(shù)據(jù)庫文件
result=sqlite3_open(path.c_str(),&pdb);
if(result!=SQLITE_OK)
{
CCLog("open database failed, number%d",result);
}
SQL語句
//創(chuàng)建數(shù)據(jù)庫表的sql語句
sql="create table student(ID integer primary key autoincrement,name text,sex text)";
創(chuàng)建Talbe
//創(chuàng)建表格
result=sqlite3_exec(pdb,sql.c_str(),NULL,NULL,NULL);
if(result!=SQLITE_OK)
CCLog("create table failed");
插入
//向表內(nèi)插入3條數(shù)據(jù)
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!");
查詢
//查詢結(jié)果
char **re;
//行、列
int r,c;
//查詢數(shù)據(jù)
sqlite3_get_table(pdb,"select * from student",&re,&r,&c,NULL);
CCLog("row is %d,column is %d",r,c);
//將查詢出的數(shù)據(jù)通過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的學(xué)生的信息
result=sqlite3_exec(pdb,sql.c_str(), NULL,NULL,NULL);
if(result!=SQLITE_OK)
CCLog("delete data failed!");
sqlite3_close(pdb);
SQlite保存路徑
Android:
/data/data/com.youCompany.Helloworld/files/save.db
IOS:
位于程序沙盒的文檔目錄下
../Documents/save.db
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: