大佬教程收集整理的这篇文章主要介绍了Cocos2d-x数据篇06:SQLite3数据库基础用法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
1、准备工作
@H_607_7@ (2)将sqlite3的三个源文件拷贝到项目的Classes文件中,并导入到项目里。 @H_607_7@ 如果是Android平台的话,还需要修改 Android.mk 文件。 @H_607_7@
2、sqlite3的基础API
@H_607_7@ 这里只介绍一下sqlite3最基本的API,可以帮助你完成数据库的 增删改查 功能。 @H_607_7@ 注意:sqlite3 数据库使用的编码格式为:UTF-8。如果出现乱码的话,就将其转为 UTF-8 格式。 @H_607_7@ 2.1、关键数据结构:sqlite3* @H_607_7@ sqlite里最常用到的是:sqlite3* 类型。 @H_607_7@ 从数据库打开开始,sqlite就要为这个类型准备好内存,直到数据库关闭,整个过程都需要用到这个类型。当数据库打开时开始,这个类型的变量就代表了你要操作的数据库。下面再详细介绍。 @H_607_7@ 2.2、打开数据库:sqlite3_open @H_607_7@ 这个函数是用来打开数据库的。 @H_607_7@ (1)filename : 数据库文件名(如:"/Users/apple/Documents/data.db" )。文件名不需要一定存在,如果此文件不存在,sqlite 会自动建立它。如果它存在,就尝试把它当数据库文件来打开。 @H_607_7@ (2)ppDb : 即前面提到的关键数据结构。这个结构底层细节如何,你不要关它。 @H_607_7@ (3)返回值: 如果为 @R_669_5607@OK ,则成功打开数据库。 @H_607_7@ 2.3、关闭数据库:sqlite3_close @H_607_7@ 这个函数是用来关闭数据库的。若不再使用数据库时,必须将数据库关闭,释放内存资源。 @H_607_7@ (1)sqlite3* : 即前面提到的关键数据结构。 @H_607_7@ (2)返回值: 如果为 @R_669_5607@OK ,则成功关闭数据库。 @H_607_7@ 2.4、执行sql语句:sqlite3_execsqlite3_exec(sqlite3*,
*sql,
(*callBACk)(
void
*,monospace!important; font-size:1em!important; min-height:inherit!important">,monospace!important; font-size:1em!important; min-height:inherit!important">**,monospace!important; font-size:1em!important; min-height:inherit!important">**),monospace!important; font-size:1em!important; min-height:inherit!important">**errmsg)
|
sqlite3_get_table(sqlite3*db,constchar*sql,monospace!important; font-size:1em!important; min-height:inherit!important">***result,monospace!important; font-size:1em!important; min-height:inherit!important">*row,monospace!important; font-size:1em!important; min-height:inherit!important">*col,serif; font-size:14px"> 这个函数是用来查询数据库的。
@H_607_7@ (1)db:即前面提到的关键数据结构。
@H_607_7@ (2)sql:即sql查询语句。
@H_607_7@ (3)result:查询结果。它依然一维数组(不要以为是二维数组,更不要以为是三维数组)。它内存布局是:第一行是字段名称,后面是紧接着是每个字段的值。即:0~col-1是字段名称,col~2*col-1是第一行记录,2*col~3*col-1是第二行记录,……以此类推。
@H_607_7@ (4)row:行数。
@H_607_7@ (5)col:列数。
@H_607_7@ (6)errmsg:错误信息。
@H_607_7@ 注意:这个函数的result访问完后,需要使用sqlite3_free_table(retult),释放资源。
|