irpas技术客

vs 配置 sqlite3 环境搭建+代码示例_RenaissanceKarma_sqlite3 代码

网络 2850

下载 Sqlite 3

sqlite3下载

此种举例: vs2005 + sqlite3 [注意, 你也可以用vs2022进行编译, 后续有步骤, 大体一致]

头文件必下载库文件根据你的编译环境: 例子中是vs2005 x32位开发环境, 若你使用vs2019+x64位则找到对应x64版本, 按需下载

下载后,新建文件夹 sqlite3 然后解压至其中, 如图

生成.lib库

使用运行Visual Studio 2005 Command Prompt命令行程序。 如果使用vs2019 or vs2022找到对应的 Visual Studio 20xx Command Prompt.exe程序. 若不知道, 建议使用 everything 软件进行搜索.

打开此命令行, 进入sqlite3目录:

键入键入命令: lib /def:sqlite3.def /machine:ix86 - 注意: 如果要生成x64或其他平台则自己改写/machine:ix86. - 若不添加/machine:ix86 亦可, 系统自动判断你的平台以及vs版本来判断目标平台类型.

最总结果:

如此ok. 接下来配置vs环境即可 vs 配置环境

举例使用 vs2005 版本: 需要以下步骤:

右键project->Properties

添加头文件目录sqlite/sqlite-amalgamation-3380000 ps: 可能vs2019 之流, 高版本的界面有所差异,但步骤一致.

指定库文件目录sqlite3即可

指定动态库文件.sqlite3.lib

打完收工, 下面是代码部分

代码示例 引用头文件:#include "sqlite3.h" #include <cstdio> #include <iostream> #include "sqlite3.h" using namespace std; int main() { sqlite3 *sql = NULL; // 一个打开的数据库实例 //某个.db文件的路径 const char * path = "C:/Third_party_library/sqlite3/DHLog_2022-02-28_112050.db"; // 根据文件路径打开数据库连接。如果数据库不存在,则创建。 // 数据库文件的路径必须以C字符串传入。 // 以读写, 创建 模式打开 int result = sqlite3_open_v2(path, &sql, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE| SQLITE_OPEN_NOMUTEX | SQLITE_OPEN_SHAREDCACHE, NULL); if (result == SQLITE_OK) { std::cout << "打开数据库连接成功" << std::endl; } else { std::cout << "打开数据库连接失败"<< std::endl; } const char *sqlSentence = "select TELNO, TH_BODY from TLG_HISTORY where TELNO=1020 order by TH_DATE desc limit 1"; //SQL语句 sqlite3_stmt *stmt = NULL; // stmt语句句柄 //进行查询前的准备工作——检查语句合法性 //-1代表系统会自动计算SQL语句的长度 int result1 = sqlite3_prepare_v2(sql, sqlSentence, -1, &stmt, NULL); if (result1 == SQLITE_OK) { // 每调一次sqlite3_step()函数,stmt语句句柄就会指向下一条记录 while (sqlite3_step(stmt) == SQLITE_ROW) { // 取出第0列字段的值 int telno = sqlite3_column_int(stmt, 0); // 取出第1列字段的值 void * body = const_cast<void*>(sqlite3_column_blob(stmt, 1)); // 数据处理 //.... } } else { std::clog << "查询语句有问题"; } //清理语句句柄,准备执行下一个语句 sqlite3_finalize(stmt); //关闭数据库 if (sql) { sqlite3_close_v2(sql); sql = NULL; } return 0; }


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #sqlite3 #代码 #C #Windowsvs #环境配置代码示例