2.Sqlite3库的使用

在得到了sqlite3.lib、sqlite3.h和sqlite3.dll三个文件以后,我们就可以在我们的程序中使用这个动态链接库了。

在Visual Studio中新建一个Win32控制台应用程序,类型选择“控制台应用程序”,取消“预编译头”,点击“完成”。

 

 

  在Visual Studio的菜单“项目”中,选择最下方的“属性”,选择左边“VC++目录”,在右边出现的“包含目录”下,添加sqlite3.h文件所在的目录,为了便于管理,我把这三个文件都放在了同一个目录下。

  点击确定后,再选择右边的“库目录”下,把.lib文件所在的目录添加进去(由于和头文件在同一个目录下,因此和前面相同)。

最后点击左边的“链接器”,选择下方的“输入”,然后选择右边的“附加依赖性”,输入”sqlite3.lib”,这样,所有必须的库文件都准备好了。

然后试试测试代码:

#include <iostream>
#include "sqlite3.h"

using namespace std;

int main()
{
	sqlite3 *db;
	int ret;
	cout << "Sqlite Version:"<<SQLITE_VERSION << endl;
	ret=sqlite3_open("test.db", &db);
	if (ret != 0)
	{
		cout << "failed to open database." << endl;
		cout << sqlite3_errmsg(db) << endl;
		return -1;
	}
	cout << "succeeded to open database." << endl;
	sqlite3_close(db);
	return 0;
}

编译测试一下,通过。

  直接运行试试?

  报错?当然了,我们使用的sqlite3.lib文件可不是含有可执行代码的静态库,而是给动态库静态加载使用的,因此还必须要有sqlite3.dll文件的支持。这时候有两种做法,一种是把sqlite3.dll加入到系统环境变量里面去,另外一种就是直接把sqlit3.dll放在可执行目录下,两种方法各有优劣,这里不展开细说了。

例如,我把dll文件同可执行文件放到一起,然后运行,会有命令行提示,打开数据库成功,并在文件夹下产生一个名为test.db的数据库文件。

  这里还是想吐槽的是打开和关闭数据库的函数,sqlite3_open的第二个参数类型是sqlite3 **,而sqlite3_close 接受的参数类型是sqlite3*,刚开始写代码的可要特别留意了。

posted @ 2020-01-11 16:42  castor_xu  阅读(606)  评论(0编辑  收藏  举报