数据打开【Cocos2D-X 】初窥门径(13)使用 sqlite 保存数据数据打开
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下数据打开
首先载下sqlite的码源,一共4个文件,添加到项目中

包括头文件:
#include "sqlite3.h"
创立或打开数据库:
//打开一个数据库文件,如果不存在,则创立一个数据库文件
int result=sqlite3_open("game.db",&pDB);
if( result != SQLITE_OK )
{
CCLog( "打开数据库失败,错误码:%d ,错误原因:%s\n" , result, errMsg );
}
//创立表,置设ID为主键,且主动加增
sqlite3_exec( pDB, "create table HTable( hid integer primary key autoincrement, name text) " , NULL, NULL, &errMsg );
在Resources目录中可以看到现出了一个game.db的数据库文件。
入插数据
//入插数据 sqlstr=" insert into HTable( name ) values ( 'Henn' ) "; sqlite3_exec( pDB, sqlstr , NULL, NULL, &errMsg );
打开game.db看以看到:
更新数据
//更新数据 sqlstr="update HTable set name='Henn' where ID = 1"; sqlite3_exec( pDB, sqlstr , NULL, NULL, &errMsg );
除删数据
//除删数据 sqlstr="delete from HTable where hid=1"; sqlite3_exec( pDB, sqlstr , NULL, NULL, &errMsg );
读取数据
//回调函数
int loadRecord(void * para, int n_column, char ** column_value, char ** column_name)
{
CCLog("hid=%s,name=%s",column_value[0],column_value[1]);
return 0;
}
//读取数据
sqlstr="select * from HTable"
sqlite3_exec( pDB, sqlstr , loadRecord, NULL, &errMsg );
判断表否是存在
//回调函数
int isExisted( void * para, int n_column, char ** column_value, char ** column_name )
{
bool *isExisted_=(bool*)para;
*isExisted_=(**column_value)!='0';
return 0;
}
//判断表否是存在
bool HSqlite::isExisted4Table()
{
bool b;
char* sqlstr="select count(type) from sqlite_master where type='table' and name='HTable'";
sqlite3_exec( pDB, sqlstr , isExisted, &b, &errMsg);
return b;
}
文章结束给大家分享下程序员的一些笑话语录:
打赌
飞机上,一位工程师和一位程序员坐在一起。程序员问工程师是否乐意和他一起玩一种有趣的游戏。工程师想睡觉,于是他很有礼貌地拒绝了,转身要睡觉。程序员坚持要玩并解释说这是一个非常有趣的游戏:"我问你一个问题,如果你不知道答案,我付你5美元。然后你问我一个问题,如果我答不上来,我付你5美元。"然而,工程师又很有礼貌地拒绝了,又要去睡觉。 程序员这时有些着急了,他说:"好吧,如果你不知道答案,你付5美元;如果我不知道答案,我付50美元。"果然,这的确起了作用,工程师答应了。程序员就问:"从地球到月球有多远?"工程师一句话也没有说,给了程序员5美元。 现在轮到工程师了,他问程序员:"什么上山时有三条腿,下山却有四条腿?"程序员很吃惊地看着工程师,拿出他的便携式电脑,查找里面的资料,过了半个小时,他叫醒工程师并给了工程师50美元。工程师很礼貌地接过钱又要去睡觉。程序员有些恼怒,问:"那么答案是什么呢?"工程师什么也没有说,掏出钱包,拿出5美元给程序员,转身就去睡觉了。

浙公网安备 33010602011771号