sqlite3 api的简单封装

头文件sql

#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*, const char *sql, sqlite_callback, void *data, char **errmsg)

int execSQL(sqlite3* pDb, const char *sql,
      SqlCallBack sqlCallback, void *data, 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;
}