zoukankan      html  css  js  c++  java
  • 在Cocos2d-x正在使用SQLlite数据库

    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-Xproject,将这三个文件放在在project文件夹下的Classes文件里


    在程序中运行以下的代码创建SQLlite数据库

      //创建sqlite数据库
    	sqlite3* pSqlite;
    	
        //打开sqlite数据库
    	int ret = sqlite3_open("mydb", &pSqlite);
    	
        //当sqllite数据库打开失败时
        if (ret != SQLITE_OK)
    	{
            //获得sqltite数据库打开错误的信息
    		const char* errmsg = sqlite3_errmsg(pSqlite);
    		
            //打印数据库打开失败的信息
            CCLog("sqlite open error: %s", errmsg);
    		
            return false;
    	}

    运行成功后会看到project文件夹下的Resource文件夹中有一个mydb文件,mydb文件里保存的是SQLlite数据库信息

    运行以下的代码实现创建表

      //创建表
        //第一个參数:打开的数据库
        //第二个參数:SQL语句
    	ret = sqlite3_exec(pSqlite, "create table TUSER (id integer, name text, password text)", NULL, NULL, NULL);
    	
        //假设创建表失败
        if (ret != SQLITE_OK)
    	{
            //得到创建表失败的信息
    		const char* errmsg = sqlite3_errmsg(pSqlite);
    		
            //打印创建表失败的信息
            CCLog("sqlite exec error: %s", errmsg);
    		
            return false;
    	}

    运行以下的代码向表中插入数据

      //向表中插入数据
    	ret = sqlite3_exec(pSqlite, "insert into TUSER values(1, 'xueguoliang', 'password')", NULL, NULL, NULL);
    	
        //当向表中插入数据失败时
        if (ret != SQLITE_OK)
    	{
            //得到向表中插入数据失败的信息
    		const char* errmsg = sqlite3_errmsg(pSqlite);
    		
            //打印插入数据失败的信息
            CCLog("sqlite insert error: %s", errmsg);
    		
            return false;
    	}


    查询表中的数据

    //查询数据
        //查询username为xueguoliang的用户信息
    	ret = sqlite3_exec(pSqlite, "select * from TUSER", selectCallback, "xueguoliang", NULL);
    


    查询数据的回调函数

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


    查询的数据


    关闭SQLlite数据库

     //关闭数据库
    	sqlite3_close(pSqlite);
    


    

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    局部类
    内部类
    程序的异常
    四种修饰符
    接口之间的多继承
    多态
    继承父类并实现多个接口
    接口内容小结
    接口的静态方法和私有方法
    顺序栈与链式栈
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4669709.html
Copyright © 2011-2022 走看看