记录研究SQLite过程中遇到的问题!

记录研究SQLite过程中遇到的问题!,第1张

概述一、在编译生成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包中

一、在编译生成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->@R_942_3013@ header->Not using compiled headers (否则会报错 头文件的问题)

2、project->setting->link->Object/library modules中添加sqlite

3、lib 或者在程序中添加#pragma comment(lib,"sqlite3.lib")

注意:lib文件需要放在工程目录下,否则就算执行完以上 *** 作也会报错!

总结

以上是内存溢出为你收集整理的记录研究SQLite过程中遇到的问题!全部内容,希望文章能够帮你解决记录研究SQLite过程中遇到的问题!所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1178044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存