Sqlite入门与C/C++的应用
发布时间:2020-12-12 20:30:02 所属栏目:百科 来源:网络整理
导读:下载地址:http://www.sqlite.org/download.html 在该页面上 下载Source Code中的sqlite-amalgamation-3071300.zip,该包有含有两个头文件,两个实现文件。 下载Precompiled Binaries For Windows中的sqlite-dll-win32-x86-3071300.zip,该包中含有一个def文
下载地址:http://www.sqlite.org/download.html 在该页面上 下载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,"数据库打开失败,请检查%sn",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 addressn"); 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("请输入要删除的idn"); scanf("%d",&i); sprintf(strSQL,"delete from test where id=%d;",i); sqlite3_exec(db,&zErrMsg); break; case 3: sqlite3_exec(db,&zErrMsg); printf("请输入要修改的idn"); scanf("%d",&i); printf("请输入新的name addressn"); 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; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |