友情提示:本站最近进行了改版升级,如出现显示异常,请刷新页面或清除一下缓存!

  在windows系统中要使用C/C++操作sqlite数据库,首先我们需要通过sqlite3.def生产sqlite3.lib文件,还需要下载对应的头文件,为了方便各位朋友,本站已经将所有需要的文件打包好了,各位下载后解药到系统中某个目录即可。

>>>下载地址

  下面就直接看C/C++操作sqlite数据库的示例程序,代码如下:

#include <stdio.h>
#include <sqlite3.h> 

void main()
{
    sqlite3 *db = NULL;
    char *zErrMsg = NULL;
    int rc;

    rc = sqlite3_open("test.db", &db); //打开数据库

    //如果连接成功,则返回SQLITE_OK,其值为0;如果失败则返回大于0的值
    if( rc )
    {
	fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
	sqlite3_close(db);	//注意,这里也需要调用sqlite3_close
	return;
    }
    rc = sqlite3_exec(db, "create table tbl1(one varchar(10), two smallint)", NULL, 0, &zErrMsg);
    if( rc != SQLITE_OK )
    {
	fprintf(stderr, "SQL error: %s\n", zErrMsg);
	sqlite3_free(zErrMsg);  //注意这里对 zErrMsg 的释放
    }
    sqlite3_close(db); //关闭数据库
}

  sqlite数据库的使用非常的简单,通过sqlite3_open打开数据库,打开成功后通过sqlite3_exec执行sql语句,最后使用sqlite3_close关闭数据库。

  要让以上代码正确的运行起来,还有一些工作要做,如果你直接就编译、运行上面的代码,那么你肯定会经历下面的错误:

错误1:编译错误 无法打开 sqlite3.h

fatal error C1083: 无法打开包括文件:“sqlite3.h”: No such file or directory

解决办法:在vc的包含路径中,添加sqlite3.h所在的位置,具体设置方法为:工具 – 选项 – 项目和解决方案,展开,选择“VC++目录”,之后在右侧“显示以下内容的目录”下拉框中选择“包含文件”,再在底下列表框中添加对应的目录。

错误2:链接错误

1>正在链接...
1>c_connect_sqlite.obj : error LNK2019: 无法解析的外部符号 _sqlite3_free,该符号在函数 _main 中被引用
1>c_connect_sqlite.obj : error LNK2019: 无法解析的外部符号 _sqlite3_exec,该符号在函数 _main 中被引用
1>c_connect_sqlite.obj : error LNK2019: 无法解析的外部符号 _sqlite3_close,该符号在函数 _main 中被引用
1>c_connect_sqlite.obj : error LNK2019: 无法解析的外部符号 _sqlite3_errmsg,该符号在函数 _main 中被引用
1>c_connect_sqlite.obj : error LNK2019: 无法解析的外部符号 _sqlite3_open,该符号在函数 _main 中被引用
1>F:\Program\VS2008\sqlite\Debug\c_sqlite.exe : fatal error LNK1120: 5 个无法解析的外部命令

  哇,这次错误不少,看来比较麻烦,其实这个都是同一个问题,没有引入sqlite3.lib文件导致,错误的解决和错误1比较类似,错误1是添加“包含文件”,这里我们需要添加“库文件”,加上sqlite3.lib所在的位置。

  添加库文件位置后,我们还需要明确的告知程序去引入sqlite3.lib文件,有两种方法,具体如下:

1、打开项目的属性页,左侧依次展开“配置属性”-“链接器”-“输入”,在右侧的“附加依赖性”中输入 sqlite3.lib

2、在代码中的include语句后加入下面的代码

#pragma comment(lib,"sqlite3.lib")

错误3:运行错误 没有找到sqlite3.dll

没有找到sqlite3.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。

  一个小程序,竟然有这么多错误,windows下面搞个程序还真费劲~~,还好这应该是最后一个错误了,我保证,呵呵~~,解决方法也有两个:

1、将sqlite3.dll文件拷贝到system32文件夹(不知道在哪里?百度or谷歌吧)中

2、将sqlite3.dll文件拷贝到当前工程目录下

   经历这么多错误后,我们的第一个使用C/C++操作sqlite数据库的示例程序就可以跑起来了,后续的使用就看各位的发挥了~~~~

转载请注明:Coding Ants » windows系统中使用C/C++操作sqlite数据库示例程序

相关文章

我来说说

(便于我们更好的交流)

没有交流就没有进步,在此输入您对本文的看法!
取消