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

一、在编译生成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,0,0,&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,0,0,&zErrMsg);
 sqlite3_exec(db,inssql2,0,0,&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文件需要放在工程目录下,否则就算执行完以上操作也会报错!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值