【C++拓展】vs2022使用SQlite3

文章目录


前言

SQLite3 是一种广泛应用的嵌入式数据库,以其轻量、高效和无服务器架构闻名。Visual Studio 2022(VS2022)作为一款强大的 IDE,提供了丰富的工具支持 C++ 开发。在 VS2022 中使用 SQLite3,可以帮助开发者快速集成数据库功能,并实现高效的数据管理。本文将介绍如何在 VS2022 中使用 SQLite3 的关键步骤和注意事项,为开发者提供入门指引。


下载所需要的文件

SQLite

首先需要下载源文件:

然后下载动态库:


然后把他们放到一起,如上

生成lib库

win 输入dev打开vs的命令行

cd进入刚刚的文件夹

输入:lib /MACHINE:X64 /DEF:sqlite3.def


最后生成lib

vs2022中使用SQlite

打开项目属性,VC++目录,把你刚刚的路径填进去:

然后打开输入,把sqlite3.lib填进去

示例代码

cpp 复制代码
#include <iostream>
#include <sqlite3.h> // SQLite3 的头文件

// 打开数据库的回调函数
static int callback(void* NotUsed, int argc, char** argv, char** azColName) {
    for (int i = 0; i < argc; i++) {
        std::cout << azColName[i] << ": " << (argv[i] ? argv[i] : "NULL") << std::endl;
    }
    std::cout << std::endl;
    return 0;
}

int main() {
    sqlite3* db; // 数据库连接指针
    char* errMsg = nullptr;
    int rc;

    // 打开或创建数据库
    rc = sqlite3_open("example.db", &db);
    if (rc) {
        std::cerr << "无法打开数据库: " << sqlite3_errmsg(db) << std::endl;
        return rc;
    }
    else {
        std::cout << "成功打开数据库!" << std::endl;
    }

    // 创建表
    const char* createTableSQL =
        "CREATE TABLE IF NOT EXISTS Users("
        "ID INTEGER PRIMARY KEY AUTOINCREMENT, "
        "Name TEXT NOT NULL, "
        "Age INTEGER NOT NULL);";
    rc = sqlite3_exec(db, createTableSQL, nullptr, nullptr, &errMsg);
    if (rc != SQLITE_OK) {
        std::cerr << "创建表失败: " << errMsg << std::endl;
        sqlite3_free(errMsg);
    }
    else {
        std::cout << "表创建成功!" << std::endl;
    }

    // 插入数据
    const char* insertSQL =
        "INSERT INTO Users (Name, Age) VALUES ('Alice', 25), ('Bob', 30);";
    rc = sqlite3_exec(db, insertSQL, nullptr, nullptr, &errMsg);
    if (rc != SQLITE_OK) {
        std::cerr << "插入数据失败: " << errMsg << std::endl;
        sqlite3_free(errMsg);
    }
    else {
        std::cout << "数据插入成功!" << std::endl;
    }

    // 查询数据
    const char* querySQL = "SELECT * FROM Users;";
    rc = sqlite3_exec(db, querySQL, callback, nullptr, &errMsg);
    if (rc != SQLITE_OK) {
        std::cerr << "查询数据失败: " << errMsg << std::endl;
        sqlite3_free(errMsg);
    }
    else {
        std::cout << "数据查询成功!" << std::endl;
    }

    // 关闭数据库
    sqlite3_close(db);
    std::cout << "数据库已关闭。" << std::endl;

    return 0;
}


如果提示确实dll,则需要:



总结

在 VS2022 中使用 SQLite3 是实现轻量级数据库存储的高效解决方案。通过配置 SQLite3 库、连接数据库和编写 SQL 操作代码,可以快速搭建起基于 SQLite3 的数据管理功能。对于嵌入式系统、桌面应用和小型项目,SQLite3 是一个理想的选择。然而,在使用过程中,需要注意事务处理和多线程访问等细节,以确保数据一致性和安全性。通过掌握这些知识,开发者能够更好地利用 SQLite3 和 VS2022 构建高质量的应用程序。

相关推荐
周杰伦_Jay几秒前
【主流开发语言深度对比】Python/Go/Java/JS/Rust/C++评测
开发语言·python·golang
ldmd2846 分钟前
Go语言实战:入门篇-5:函数、服务接口和Swagger UI
开发语言·后端·golang
沐伊~9 分钟前
mysql 安装
数据库·mysql
TimberWill12 分钟前
CONCAT函数使用中出现空指针异常问题分析
数据库
xskukuku17 分钟前
华为技术有限公司 C语言编程规范
c语言·嵌入式
光子物联单片机21 分钟前
C语言基础开发入门系列(八)C语言指针的理解与实战
c语言·开发语言·stm32·单片机·mcu
是苏浙26 分钟前
零基础入门C语言之文件操作
c语言·开发语言
盈电智控28 分钟前
体力劳动反而更难被AI取代?物联网科技如何守护最后的劳动阵地
开发语言·人工智能·python
隔壁阿布都30 分钟前
Spring Boot中的Optional如何使用
开发语言·spring boot·python
小龙报32 分钟前
《C语言疑难点 --- C语内存函数专题》
c语言·开发语言·c++·创业创新·学习方法·业界资讯·visual studio