一、在编译生成Lib文件这个阶段,如果sqlitedll-3_3_7.zip没有sqlite3.lib文件, 则按照“启动一个命令行,进入VC的安装目录,如C:/Microsoft Visual Studio/VC98/Bin在这个目录下面有一个LIB.exe文件,我们就是利用本文件生成所需要的sqlite3.lib文件,将在sqlite官方下载的sqlite-source-3_3_7.zip包中的sqlite3.def文件放到相同目录,或者绝对路径,然后在命令行输入如下命令: D:/Microsoft Visual Studio/VC98/Bin>LIB /MACHINE:IX86 /DEF:sqlite.def 如果命令成功执行的话我们可以看到LIB.exe文件已经帮我们生成好了sqlite3.lib文件。”此步骤操作。
接下来用VC建立工程,添加一个文件,以下是我自己写的一个文件:
#include <stdio.h>
#include "stdlib.h"
#include "sqlite3.h"
int main( void )
{
sqlite3 *db=NULL;
char *zErrMsg = 0;
int rc;
int nrow=0,ncolum=0;
char **azResult;
char *sql="SELECT * FROM test";
int count=0;
// char *crtsql="CREATE TABLE[test](no INTEGER PRIMARY KEY AUTOINCREMENT,train VARCHAR2(10))";
char inssql2[1024]="INSERT INTO test(train) VALUES(6)";
char inssql[1024];
//*********************open database***************************
rc = sqlite3_open("caen.db3",&db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
if( rc )
{
printf( "Can't open database: %s/n",sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else printf("open db successfully!/n");
//***********************Create Table*************************
/*
rc = sqlite3_exec(db,crtsql,&zErrMsg);
if(0==rc)
{
printf( "Create table success/n" );
}*/
//***********************Insert Data****************************
sprintf(inssql,"INSERT INTO test(train) VALUES(%d)",count);//某一列插入变量要用sprintf
sqlite3_exec(db,inssql,&zErrMsg);
sqlite3_exec(db,inssql2,&zErrMsg);
//***********************Query Data****************************
sqlite3_get_table(db,sql,&azResult,&nrow,&ncolum,&zErrMsg);
printf("row:%d column:%d /n",nrow,ncolum);
for(count;count<ncolum*(nrow+1);count++)
{
printf("%s ",azResult[count]);
if((count+1)%ncolum==0)printf("/n");
else printf(" ||");
}
//*************************Close Database*************************
sqlite3_free_table(azResult);
sqlite3_close(db); //关闭数据库
return 0;
}
编译时要改动下VC6.0的配置:
1、C/C++->category->Precompiled Header->Not using compiled Headers (否则会报错 头文件的问题)
2、project->setting->Link->Object/Library modules中添加sqlite
3、lib 或者在程序中添加#pragma comment(lib,"sqlite3.lib")
注意:lib文件需要放在工程目录下,否则就算执行完以上操作也会报错!
原文链接:https://www.f2er.com/sqlite/203018.html