sqlite3 api的简单封装

前端之家收集整理的这篇文章主要介绍了sqlite3 api的简单封装前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文件

#ifndef sqlite3_common_H
#define sqlite3_common_H
#include <sqlite3.h>
#include "log.h"
#include "common.h"

//sqlite3_open(const char *filename,sqlite3 **ppDb)
///*打开数据库
//int sqlite3_open(
 // const char *filename,/* Database filename (UTF-8) */
 // sqlite3 **ppDb          /* OUT: sqlite db handle */
//);*/
typedef int (*sqlCallBack)(void *p_data,int num_fields,char **p_fields,char **p_col_names);


int OpenDataBase( const char*filename,sqlite3 **ppDb  );
//sqlite3_close(sqlite3*)
int CloseDataBase( sqlite3 *pDb  );
int execsql(sqlite3* pDb,const char *sql,sqlCallBack sqlCallback,void *data,char **errmsg);


#endif



CPP文件
<pre name="code" class="cpp">#include "sqlite3_common.h"


int OpenDataBase( const char*filename,sqlite3 **ppDb  )
{
    if( NULL == filename )
    {
        Log(DEBUG,"filename NULL");
		return ERROR;
	}
	int iRet = ERROR;
    
	if( sqlITE_OK == sqlite3_open(filename,ppDb) )
	{
	     Log(DEBUG,"OpenDataBase OK");
         iRet = OK;
	}
	
	return iRet;
	
}
int CloseDataBase( sqlite3 *pDb  )
{
    //sqlite3_close(sqlite3*)
    Log(DEBUG,"come in");
	if(NULL == pDb)
	{
	    Log(DEBUG,"pDb NULL");
        return ERROR;
	}
	int iRet = ERROR;
	iRet = sqlite3_close(pDb);
	//pDb = NULL;
    return iRet;
	
}

//sqlite3_exec(sqlite3*,sqlite_callback,char **errmsg)

int execsql(sqlite3* pDb,char **errmsg)
{
     Log(DEBUG,"come in");
     if(NULL == pDb || NULL == sql || NULL == data || NULL == errmsg )
	{
	    Log(DEBUG,"param error");
        return ERROR;
	}
	int iRet = ERROR;
	iRet = sqlite3_exec(pDb,sql,sqlCallback,data,errmsg);

	return iRet;
}



猜你在找的Sqlite相关文章