在该页面上
下载Source Code中的sqlite-amalgamation-3071300.zip,该包有含有两个头文件,两个实现文件。
下载Precompiled Binaries For Windows中的sqlite-dll-win32-x86-3071300.zip,该包中含有一个def文件,一个dll文件。
在vs2010中,新建一个项目,Win32控制台,选择空白dll项目,然后,把下载的所有文件,解压缩
放入到这个项目中,在项目---属性---常规中配置类型选择为静态库.lib,点生成就可以了。
下面这个程序是我写的一个例子,具有基本功能,但可能方法不是很好。
#include "sqlite3.h" #include <stdio.h> #include <stdlib.h> #pragma comment(lib,"sqllib.lib") int select_callback(void* data,int col_count,char **col_values,char ** col_Name); void DoSelect(int id); sqlite3 *db=NULL; char *zErrMsg=NULL; int select_callback(void* data,char ** col_Name) { for(int i=0; i < col_count; i++) printf("%s = %s;",col_Name[i],col_values[i] == 0 ? "NULL" : col_values[i]); printf("\n"); return 0; } int main() { int rc; int select; rc=sqlite3_open("Test.s3db",&db); if(rc) { fprintf(stderr,"数据库打开失败,请检查%s\n",sqlite3_errmsg(db)); }else { do { printf("********数据库已连接******** \n"); printf("请选择相应操作:\n"); printf("1、增加数据\n"); printf("2、删除单条数据\n"); printf("3、修改数据\n"); printf("4、删除全部数据\n"); printf("5、查看所有数据\n"); printf("6、退出程序\n"); scanf("%d",&select); DoSelect(select); }while(select!=6); } return 0; } void DoSelect(int id) { char strsql[100]; char name[50],address[100]; int i; switch(id) { case 1: printf("请输入name address\n"); scanf("%s %s",name,address); sqlite3_exec(db,"begin;",&zErrMsg); sprintf(strsql,"insert into test(name,address) values('%s','%s');",strsql,NULL,&zErrMsg); sqlite3_exec(db,"commit;",&zErrMsg); break; case 2: sqlite3_exec(db,"select * from test;",select_callback,&zErrMsg); printf("请输入要删除的id\n"); scanf("%d",&i); sprintf(strsql,"delete from test where id=%d;",i); sqlite3_exec(db,&zErrMsg); break; case 3: sqlite3_exec(db,&zErrMsg); printf("请输入要修改的id\n"); scanf("%d",&i); printf("请输入新的name address\n"); scanf("%s %s",address); sprintf(strsql,"update test set name='%s',address='%s' where id=%d;",address,&zErrMsg); break; case 4: sqlite3_exec(db,"delete from test;",&zErrMsg); break; case 5: sqlite3_exec(db,&zErrMsg); break; case 6: sqlite3_close(db); break; } }