首页 > 代码库 > COCOS2D-X中使用数据库

COCOS2D-X中使用数据库

 

网上说环境需要sqlite3 得文件,因为以前糊里糊涂得安过,也没下载

Xcode下需要注意可能要包含一个libsqlite3的dylib库,要不然可能报错

 

使用的时候要加入头文件#include<sqlite3.h>

 

在cocos里可能要非常注意的是,因为我们要编译的是app不是a.out了,app因为权限问题不能随意写文件.

所以你就算把数据库文件拖入Res目录下,数据库也找不到.

我现在还没有找到如何利用cocos api调用外部的数据库...希望大拿能帮助我-.-

但是可以用getWriteablePath获得可以写入的路径,然后就会在路径下生成一个数据库文件,贴代码

std::string path= CCFileUtils::getInstance()->getWritablePath()+"wuxingogo.db";

在这里用的是sqlite3_xxx的方法执行数据库语句

读取行列值时,时刻记得行从1开始,列从0开始

sqlite3_get_table 函数详解:

SQLITE_API int sqlite3_get_table(

  sqlite3 *db,          /* An open database */

  const char *zSql,     /* SQL to be evaluated */

  char ***pazResult,    /* Results of the query */

  int *pnRow,           /* Number of result rows written here */

  int *pnColumn,        /* Number of result columns written here */

  char **pzErrmsg       /* Error msg written here */

);

sqlite3_get_table(pSqlite,"select * from student",&re,&r,&c,NULL);//1

会把pSqlite数据库里student表里的数据存储到这个result字符串里, 行存入r里,列存入c里

log的时候 直接 log("%s",re[i*c+j]);

使用完了要释放查询结果结果 sqlite3_free_table(re);

使用完数据库要关闭 sqlite3_close(pSqlite);

 

enjoy .

COCOS2D-X中使用数据库