下载Precompiled Binaries For Windows中的sqlite-dll-win32-x86-3071300.zip,该包中含有一个def文件,一个dll文件。
下面这个程序是我写的一个例子,具有基本功能,但可能方法不是很好。
#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,int col_count,char **col_values,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;",0,0,&zErrMsg); sprintf(strSQL,"insert into test(name,address) values('%s','%s');",name,address); sqlite3_exec(db,strSQL,NULL,NULL,&zErrMsg); sqlite3_exec(db,"commit;",0,0,&zErrMsg); break; case 2: sqlite3_exec(db, "select * from test;", select_callback, 0, &zErrMsg); printf("请输入要删除的id\n"); scanf("%d",&i); sprintf(strSQL,"delete from test where id=%d;",i); sqlite3_exec(db,strSQL,NULL,NULL,&zErrMsg); break; case 3: sqlite3_exec(db, "select * from test;", select_callback, 0, &zErrMsg); printf("请输入要修改的id\n"); scanf("%d",&i); printf("请输入新的name address\n"); scanf("%s %s",name,address); sprintf(strSQL,"update test set name='%s',address='%s' where id=%d;",name,address,i); sqlite3_exec(db,strSQL,NULL,NULL,&zErrMsg); sqlite3_exec(db, "select * from test;", select_callback, 0, &zErrMsg); break; case 4: sqlite3_exec(db, "delete from test;", select_callback, 0, &zErrMsg); break; case 5: sqlite3_exec(db, "select * from test;", select_callback, 0, &zErrMsg); break; case 6: sqlite3_close(db); break; } }