sqlite3_open

Sqlite c/c++ api 学习

天大地大妈咪最大 提交于 2019-12-21 13:05:14
Sqlite是我最喜欢使用的文件数据库,它小巧、方便、速度快、支持大部分标准sql语句、开源、免费 .. .. .. 优点太多了。自从认识了她之后,我就将Access打入了冷宫,发誓以后再也不用Access了。我们可以到Sqlite的 官方网站 下 载Sqlite的源代码,编译后的结果只有200多K,太小巧,太卡哇依了。如果嫌自己手动编译麻烦,也可以直接从官网下载二进制的可执行文件或者动态链 接库。可执行文件可以用命令行的方式来创建、操作数据库;动态链接库则可以用程序来操作Sqlite数据库。今天我就来介绍一下如何使用c/c++来操作 Sqlite吧~~~ 准备工作 我这里使用的sqlite版本是3.x,所以首先从官网下载动态链接库 sqlite3.dll ;然后再下载api头文件 sqlite3.h 。在Code::Block中新建一个C++的控制台项目,添加对sqlite3.dll的引用,同时将sqlite3.h添加到项目中。我这里还使用了一个工具: SqliteSpy ,用于对数据库进行可视化的操作。 开始使用API 下面就开始使用API吧~。Sqlite的所有api,可以在 这里 查询到。 sqlite3_open sqlite3_exec sqlite3_close 看到这些函数,我相信你大概能猜出这些函数的功能。sqlite3_open用于打开一个数据库

Swift3 sqlite3_open() open an existing file

匿名 (未验证) 提交于 2019-12-03 10:24:21
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: let file_url = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor:nil,create: false).appendingPathComponent("asd.db") var db:OpaquePointer? = nil if sqlite3_open(file_url.path, &db) == SQLITE_OK { print("Successfully opened connection database!!") var q:OpaquePointer? = nil if sqlite3_prepare_v2(db, "SELECT * FROM aaa", -1, &q, nil) == SQLITE_OK { if sqlite3_step(q) == SQLITE_ROW { let res = sqlite3_column_text(q, 1) let name = String(cString: res!) } else { print("ERROR1!!!!!") } } else { print("ERROR

sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close

倾然丶 夕夏残阳落幕 提交于 2019-11-28 20:35:21
打开数据库链接sqlite3_open用法 原型: int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 用这个函数开始数据库操作。需要传入两个参数,一是数据库文件名,比如:E:/test.db。文件名不需要一定存在,如果此文件不存在,sqlite会自动建立它。如果它存在,就尝试把它当数据库文件来打开。二是sqlite3**,即前面提到的关键数据结构。这个结构底层细节如何,你不要管它。 函数返回值表示操作是否正确,如果是SQLITE_OK则表示操作正常。相关的返回值sqlite定义了一些宏。具体这些宏的含义可以参考sqlite3.h 文件。里面有详细定义(顺便说一下,sqlite3 的代码注释率自称是非常高的,实际上也的确很高。只要你会看英文,sqlite 可以让你学到不少东西)。 关闭数据库链接sqlite3_close用法 原型: int sqlite3_close(sqlite3 *ppDb); ppDb为刚才使用sqlite3_open打开的数据库链接 执行sql操作sqlite3_exec用法 原型: int sqlite3_exec( sqlite3* ppDb, /* An open