SQLite是一款轻量级的本地数据库,支持Windows/Linux/Unix等等主流的操作系统,同时支持很多程序语言,比如 C++、C#、PHP、Java等
本篇主要讲述如何在Windows下编译和使用SQLite数据库。
一、下载
http://www.sqlite.org/download.html,下载
sqlite-amalgamation-3190000.zip
sqlite-dll-win64-x64-3190000.zip(我下载的是64位。)
二、编译过程
1、打开VC新建一个 Win32 DLL 空工程,命名为 sqlite3
2、解压sqlite-amalgamation-X.zip,把sqlite3.h、sqlite3ext.h、sqlite3.c添加到工程项目中
3、修改配置,在项目属性,常规下的配置类型,将动态库(.dll)改成静态库(.lib)
4、编译,然后在编译目录中找到sqlite3.lib
当然也可以通过dll-win64-x64中的sqlite3.dll获得sqlite3.lib 方法如下:
下面就说说如何将sqlite3.def转化为sqlite3.lib,这个法子同样适用于将其他def文件转化为lib文件,具体步骤如下:
打开VS中的命令管理器,输入指令
C:\ProgramFiles\Microsoft Visual Studio\VC98\Bin>LIB.EXE /MACHINE:X86 /DEF:sqlite3.def
Microsoft (R)Library Manager Version 6.00.8168
Copyright (C)Microsoft Corp 1992-1998. All rights reserved.
Creating library sqlite3.lib and objectsqlite3.exp
得到的lib文件也在 C:\ProgramFiles\Microsoft Visual Studio\VC98\Bin目录下。下面就直接看C/C++操作sqlite数据库的示例程序,代码如下:
#include<stdio.h>
#include <sqlite3.h>
void main()
{
sqlite3 *db = NULL;
char *zErrMsg = NULL;
int rc;
rc = sqlite3_open("test.db",&db); //打开数据库
//如果连接成功,则返回SQLITE_OK,其值为0;如果失败则返回大于0的值
if( rc )
{
fprintf(stderr, "Can't opendatabase: %s\n", sqlite3_errmsg(db));
sqlite3_close(db); //注意,这里也需要调用sqlite3_close
return;
}
rc = sqlite3_exec(db, "create tabletbl1(one varchar(10), two smallint)", NULL, 0, &zErrMsg);
if( rc != SQLITE_OK )
{
fprintf(stderr, "SQL error:%s\n", zErrMsg);
sqlite3_free(zErrMsg); //注意这里对 zErrMsg 的释放
}
sqlite3_close(db); //关闭数据库
}
sqlite数据库的使用非常的简单,通过sqlite3_open打开数据库,打开成功后通过sqlite3_exec执行sql语句,最后使用sqlite3_close关闭数据库。