现在的位置: 首页 > 综合 > 正文

在windows下通过VC6.0第一次用C调用SQLite(转载)

2012年02月08日 ⁄ 综合 ⁄ 共 1837字 ⁄ 字号 评论关闭
 作者:zieckey( zieckey@yahoo.com.cn

     All Rights Reserved!

1. 下载SQLitewindows版
我们可以从下列网站下载sqlite的windows版。
http://www.sqlite.com.cn/bbs/topicdisp.asp?tid=182&topage=1#gotolast
下载这个三个文件:
SQLite 3.3.7 下载
windows版
sqlite-3_3_7.zip      这个是SQLite的windows可执行文件
sqlitedll-3_3_7.zip 这个是SQLite的windows库文件
sqlite-source-3_3_7.zip 这个是SQLite的windows下源码文件

如果你需要在windows下创建数据库,那么sqlite-3_3_7.zip是必须的
如果你需要在windows下编程,那么sqlitedll-3_3_7.zip、sqlite-source-3_3_7.zip是必须的
如果你需要在windows下学习研究数据库,那么sqlite-source-3_3_7.zip是必须的

2. 编译出Windows的Lib文件

这里可以参考: VC++使用事务来写SQLite3数据库
  http://www.sqlite.com.cn/POParticle/4/106.Html

上面我们下载的包中没有Lib文件,那么我的自己动手编译出Windows的Lib文件
这里是用VC实现的具体方法:

启动一个命令行,进入VC的安装目录,我的目录是D:\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

这样我们就得到了一个SQLite3.lib文件

3. 用VC编译第一个C-sqlite3的程序

用一个编辑器编写一个简单C程序,命名为 opendbsqlite.c,如下:

// name: opendbsqlite.c
// This file is used to test C/C++ API for sqlite in VC6.0 on Windows Platform
// Author : zieckey
// 2006/11/5

#include <stdio.h>

#include "sqlite3.h"

int main( void )
{
 sqlite3 *db=NULL;
 char *zErrMsg = 0;
 int rc;
 rc = sqlite3_open("zieckey.db", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
 if( rc )
 {
  fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
  sqlite3_close(db);
  exit(1);
 }
 else printf("open zieckey.db successfully!\n");

 sqlite3_close(db); //关闭数据库
 return 0;
}

 

打开VC6.0,新建一个工程, 将 opendbsqlite.c 添加到工程中去.
另外,将sqlite3.h sqlite3.lib sqlite3.dll文件复制到我们的工程目录.
最后 Project->Settings  在Link选项卡找到Object/library modules : 在最后填入sqlite3.lib 。
如果原来就有链接,请使用空格分隔。

现在开始编译,运行,不出意外,应该不会出现问题.
最后运行结果如下:

open zieckey.db successfully!
Press any key to continue

哈哈,我们的第一个Windows版SQLite程序就这样成功了.

总结:这里我们第一次在Windows下通过VC6.0用SQLite实现了第一个简单的C程序.
这是个良好的开始,我们希望新手能够通过这个例子能够开始大家的Windows下SQLite之旅.
同时也希望更多的高手将自己的心得写出来,让后人观摩学习.谢谢!

抱歉!评论已关闭.