上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下数据打开
首先载下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 );
//更新数据 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美元给程序员,转身就去睡觉了。