SQlite3中级篇(C/C++编程接口)

/*
SQLite数据库SQLite是一个开源的嵌入式关系数据库,在2000年由D.Richard Hipp发布。SQLite能够减少应用程序管理数据库的开销,可逢移植性好,高效而且可靠。SQLite嵌入到应用程序中,与应用程序共用相同的进程空间,而不是单独的一个进程。从外部看,SQLite并不像一个关系数据库,但在进程内部,却是完整的、自包含的数据库引擎。
*/

 

//应用到的函数:	
sqlite3_open();		//打开数据
sqlite3_exec();		//执行SQL语句
sqlite3_close()		//关闭数据
/*
函数参数介绍
*/

//打开数据
int sqlite3_open(   //打开数据库,并得到数据句柄
    "temp.db",      //要打开的数据库文件名,如果没有者新建个数据库文件
    &db             //保存打开数据库的数据库指针
);

//执行SQL语句
typedef int (*sqlite3_callback)(  //sqlite3_exec()的回调函数
    void * para,                  //可传入指针(比如结构指针)要经过强制转换才能用
    int n_column,                 //记录有多少个字段(即这条记录有多少列)
    char ** column_value,         //个关键值,查出来的数据都保存在这里
    char ** column_name           //跟前个char**是对应的,表示这个字段的字段名称
);

int sqlite3_exec(                             //执行SQL语句,没有返回值的3,4直接NULL
    sqlite3*,                                 //数据库句柄
    const char *sql,                          //要执行的数据语句字符串的首地址
    int (*callback)(void*,int,char**,char**), //(*sqlite3_callback)的地址
    void *,                                   //Callback函数第一个参数指针
    char **errmsg                             //执行完所有SQL返回0,否者返回错误代码
);

int sqlite3_close(   //关闭之前打开的数据库
    sqlite3 *        //要关闭的数据指针
);
//应用例子
#include 
#include 
#include "sqlite3.h"

//sqlite3的回调函数
//sqlite每查到一条记录,就调用一次这个回调
//回调函数原型:typedef int (*sqlite3_callback)(void*,int,char**,char**);
int LoadMyInfo(void* para,int n_column,char** column_value,char** column_name)
{
    int i;
    printf("记录包含%d个字段\n\n",n_column);
    for(i=0; i

 

点击程序源代码下载

 

你可能感兴趣的:(SQlite,C/C++)