下载地址:http://www.sqlite.org/download.html
在该页面上
下载Source Code中的sqlite-amalgamation-3071300.zip,该包有含有两个头文件,两个实现文件。
在vs2010中,新建一个项目,Win32控制台,选择空白dll项目,然后,把下载的所有文件,解压缩
放入到这个项目中,在项目---属性---常规中配置类型选择为静态库.lib,点生成就可以了。
在该页面上
下载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,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;
}
}