Cocos2d 使用Sqlite

首先下载sqlite的源码,一共4个文件,添加到项目中


包含头文件:

#include "sqlite3.h"


创建或打开数据库:

[cpp]  view plain copy
  1. //打开一个数据库文件,如果不存在,则创建一个数据库文件   
  2. int result=sqlite3_open("game.db",&pDB);  
  3. if( result != SQLITE_OK )   
  4. {  
  5.     CCLog( "打开数据库失败,错误码:%d ,错误原因:%s\n" , result, errMsg );   
  6. }  
  7.   
  8. //创建表,设置ID为主键,且自动增加   
  9. sqlite3_exec( pDB, "create table HTable( hid integer primary key autoincrement, name text) " , NULL, NULL, &errMsg );   
在Resources目录中可以看到出现了一个game.db的数据库文件。


插入数据

[cpp]  view plain copy
  1. //插入数据   
  2. sqlstr=" insert into HTable( name ) values ( 'Henn' ) ";   
  3. sqlite3_exec( pDB, sqlstr , NULL, NULL, &errMsg );   

打开game.db看以看到:




更新数据

[cpp]  view plain copy
  1. //更新数据  
  2. sqlstr="update HTable set name='Henn' where ID = 1";   
  3. sqlite3_exec( pDB, sqlstr , NULL, NULL, &errMsg );   


删除数据

[cpp]  view plain copy
  1. //删除数据  
  2. sqlstr="delete from HTable where hid=1";   
  3. sqlite3_exec( pDB, sqlstr , NULL, NULL, &errMsg );   


读取数据

[cpp]  view plain copy
  1. //回调函数  
  2. int loadRecord(void * para, int n_column, char ** column_value, char ** column_name)  
  3. {  
  4.      CCLog("hid=%s,name=%s",column_value[0],column_value[1]);   
  5.     return 0;   
  6. }  
  7. //读取数据  
  8. sqlstr="select * from HTable"  
  9. sqlite3_exec( pDB, sqlstr , loadRecord, NULL, &errMsg );   


判断表是否存在

[cpp]  view plain copy
  1. //回调函数  
  2. int isExisted( void * para, int n_column, char ** column_value, char ** column_name )   
  3. {   
  4.     bool *isExisted_=(bool*)para;   
  5.     *isExisted_=(**column_value)!='0';   
  6.     return 0;   
  7. }   
  8.   
  9. //判断表是否存在  
  10. bool HSqlite::isExisted4Table()  
  11. {  
  12.     bool b;   
  13.     char* sqlstr="select count(type) from sqlite_master where type='table' and name='HTable'";   
  14.     sqlite3_exec( pDB, sqlstr , isExisted, &b, &errMsg);   
  15.     return b;  
  16. }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值