在Cocos2d-x中使用SQLlite数据库

前端之家收集整理的这篇文章主要介绍了在Cocos2d-x中使用SQLlite数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

From: http://www.jb51.cc/article/p-zybvnkge-za.html

sqlite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口‘


在Cocos2d-X中使用sqllite数据库

首先下载sqllite数据库sqllite数据库的下载地址:http://download.csdn.net/detail/u010105970/8168569

下载完成后会得到一个压缩文件


解压后,文件夹中有3个文件sqlite3.c、sqlite3.h、sqlite3ext.h

创建一个Cocos2d-X工程,将这三个文件放在在工程目录下的Classes文件


在程序中执行下面的代码创建sqllite数据库

@H_502_65@
  • //创建sqlite数据库
  • sqlite3*psqlite;
  • //打开sqlite数据库
  • intret=sqlite3_open("mydb",&psqlite);
  • //当sqllite数据库打开失败时
  • if(ret!=sqlITE_OK)
  • {
  • //获得sqltite数据库打开错误的信息
  • constchar*errmsg=sqlite3_errmsg(psqlite);
  • //打印数据库打开失败的信息
  • CCLog("sqliteopenerror:%s",errmsg);
  • returnfalse;
  • }

  • 执行成功后会看到工程目录下的Resource文件夹中有一个mydb文件,mydb文件中保存的是sqllite数据库信息

    执行下面的代码实现创建表

    @H_502_65@
  • //创建表
  • //第一个参数:打开的数据库
  • //第二个参数:sql语句
  • ret=sqlite3_exec(psqlite,"createtableTUSER(idinteger,nametext,passwordtext)",NULL,NULL);
  • //如果创建表失败
  • if(ret!=sqlITE_OK)
  • {
  • //得到创建表失败的信息
  • constchar*errmsg=sqlite3_errmsg(psqlite);
  • //打印创建表失败的信息
  • CCLog("sqliteexecerror:%s",errmsg);
  • returnfalse;
  • }

  • 执行下面的代码向表中插入数据

    @H_502_65@
  • //向表中插入数据
  • ret=sqlite3_exec(psqlite,"insertintoTUSERvalues(1,'xueguoliang','password')",NULL);
  • //当向表中插入数据失败时
  • if(ret!=sqlITE_OK)
  • {
  • //得到向表中插入数据失败的信息
  • constchar*errmsg=sqlite3_errmsg(psqlite);
  • //打印插入数据失败的信息
  • CCLog("sqliteinserterror:%s",errmsg);
  • returnfalse;
  • }

  • 查询表中的数据

    @H_502_65@
  • //查询数据
  • //查询用户名为xueguoliang的用户信息
  • ret=sqlite3_exec(psqlite,"select*fromTUSER",selectCallback,"xueguoliang",NULL);

  • 查询数据的回调函数

    @H_502_65@
  • //查询数据的回调函数
  • intselectCallback(void*key,intc,char**value,char**cols)
  • {
  • for(inti=0;i<c;i++)
  • {
  • CCLog("%s=%s",cols[i],value[i]);
  • }
  • CCLog("");
  • if(strcmp(value[1],(char*)key)==0)
  • {
  • return-1;
  • }
  • return0;
  • }

  • 查询的数据


    关闭sqllite数据库

    @H_502_65@
  • //关闭数据库
  • sqlite3_close(psqlite);
  • 猜你在找的Cocos2d-x相关文章