最近几天在学习sqlite3,颇有点收获,下面介绍一下简单用法:
1.先下载sqlite3.h和sqlite3.c(如果不知道怎么下载的话就去www.sqlite.org)
如果要编译成lib。则需要用到sqlite3.def 文件。具体要把sqlite3.def放到我们vs安装目录的的bin目录下。利用lib.exe来生成 sqlite3.lib。命令为: LIB /DEF:sqlite3.def /machine:IX86。如果执行成功的话,在bin目录下就可以找到sqlite3.lib 和sqlite3.exp 文件。lib文件就可以用了。
我用的vs2010,所以就拿vs2010来举例吧,新建工程SqliteTest,建好后把sqlite3.h和sqlite3.c添加到工程里,然后在建立一个main.cpp来写测试代码,如图所示:
2.先介绍基本函数:
1)打开数据库:
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
说明:filename是要打开或创建的数据库文件,可以以.db的结尾(如:test.db),如果没有此文件则系统会创建此文件,否则系统将打开指定的数据库;ppDb是指针的指针,指向sqlite3*的输出参数,因此打开数据库前先要定义sqlite3*数据类型。
注意:sqlite3* 数据类型在以后得操作中经常被使用到。
返回类型:当返回SQLITE_OK时代表执行成功,SQLITE_OK是sqlite预定义的一个宏,在sqlite3.h中可以找到更多的宏,如打开一个test.db的操作:
sqlite3 *db = NULL;
int result ;
result = sqlite3_open("D:\test.db", &db );
if(result == SQLITE_OK)
{
//执行下一步操作。。。。。。。
}
2)执行有回调函数sql语句:
int sqlite3_exec( sqlite3 *db, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *, /* 1st argument to callback */ char **errmsg /* Error msg written here */ );
说明:第一个参数不说了(就是sqlite3_open()的那个输出参数), 第二个参数是要执行的sql语句,以‘