基于 Visual Studio 在 C++ 环境中使用 SQLite3

参考资料

  • C++使用SQLite步骤及示例
  • C++操作SQLITE获得查询结果集的几种方法总结
  • Sqlite3 C++ 使用方法
  • W3CSchool文档
  • 菜鸟学院 - SQLite 安装
  • 菜鸟学院文档
  • 官网文档翻译:SQLite C/C++接口简介

1. SQLite3 数据库管理工具

可以直接使用成熟的数据库操作工具对 SQLite3 数据库文件进行相关的手动数据操作,以配合开发、测试。

1.1 DBeaver

1.1.1 简介

以下描述来自百度百科DBeaver词条:

DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。

DBeaver经官方测试,其支持:MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL Server、clickhouse、Sybase、ODBC、Java DB (Derby)、Firebird (Interbase)、HSQLDB、SQLite、Mimer、H2、IBM Informix、SAP MAX DB、Cache、Ingres、Linter、Teradata和一些符合JDBC连接的数据库。

1.1.2 官方下载

  • 下载页
  • Windows-64位 installer 下载链接

1.1.3 使用 DBeaver 连接SQLite3

  1. 新建连接,选择 SQLite 数据库
image.png
  1. 设置 JDBC 连接属性,选择 DB 文件所在路径
image.png
  1. 首次使用SQLITE时,编辑驱动设置
image.png

若无相关 JDBC 驱动,点击下载、更新 DBeaver 会自动下载

image.png
image.png
  1. 根据个人需要可以设置连接详情的相关内容,例如连接名称、说明等
image.png
  1. 完成设置

2. 在 C++ 项目中使用 SQLite3

image.png

2.1 SQLite3 开发所需包下载

  • 官方下载页面
文件名(下载路径) 说明
sqlite-dll-win32-x86-3340000.zip 32位 DLL 包(V3.34.0),包含 sqlite3.def、sqlite3.dll 文件
sqlite-dll-win64-x64-3340000.zip 64位 DLL 包(V3.34.0),包含 sqlite3.def、sqlite3.dll 文件
sqlite-amalgamation-3340000.zip C 源码包,包含 sqlite3.h 文件

2.2 SQLite3 编译

  1. 启用 Visual Studio Powershell 工具(以VS2019为例):
    • 方法1:直接从“开始”界面运行 "Developer Powershell for Visual Studio 2019"
    • 方法2:直接从 Powershell 命令行执行:
      Import-Module "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
      Enter-VsDevShell 4db8d2ef
      
  2. 编译 SQLITE: 生成 sqlite3.lib
    # 假定 sqlite3.def 文件在 D:\sqlitedll 路径下
    cd D:\sqlitedll
    lib /def:sqlite3.def /machine:ix86
    

2.3 Visual Studio 设置

  1. 设置头文件包含路径

项目属性->C/C++->常规->附加包含目录

添加 sqlite3.h 所在路径

  1. 工程属性中添加sqlite3.lib库依赖

项目属性->链接器->输入->附加依赖项

添加 sqlite3.lib 完整路径

如果已经将 sqlite3.lib 复制到了项目文件夹,则直接使用 sqlite3.lib 文件名即可

  1. 设置自动复制 sqlite3.dll

运行时需要调用 sqlite3.dll,因此需要将 sqlite3.dll 一起打包,可以通过设置“生成事件进行调整”

项目属性->生成事件->生成后事件->命令行

在调试过程中自动复制 sqlite3.dll

copy D:\sqlitedll\sqlite3.dll $(OutDirFullPath)

你可能感兴趣的:(基于 Visual Studio 在 C++ 环境中使用 SQLite3)