安装SQLite
下载
在SQLite官网 https://www.sqlite.org/download.html 下载以下文件。
下载慢可以复制下载链接到迅雷新建下载,用迅雷比较快。
下载完毕后,解压到合适的文件夹中。
sqlite-dll
和 sqlite-tools
解压后需要放在同一文件夹下。
建议放在名为sqlite3
的文件夹中
Path
将刚才的sqlite3
文件夹的路径添加到环境变量中。
在命令行输入sqlite3
查看到版本即成功。
安装可视化工具SQLiteStudio(按需下载)
SQLiteStudio官网 https://sqlitestudio.pl/
SQLiteStudio是一个免费、开源的、跨平台的SQLite数据库管理工具。
下载后安装即可。
创建数据库
.open创建
双击之前解压的sqlite.exe
文件,可以在命令行直接进入文件所在路径。
输入 .open test00.db
创建数据库
想要在其他路径新建需要在命令行中使用cd
进入该路径或者将刚才创建的数据库移动到其他路径中。
使用SQLiteStudio创建
点击添加数据库,选择路径并填写数据库名称,最后点击OK即可(以在桌面创建为例)。
修改VSCode配置文件
c_cpp_properties.json
之前下载的source-code
解压后是.h
和.c
文件。
使用 C++ 连接 SQLite 时需要用到这些头文件。
在VSCode中,"includePath"是一个设置项,用于指定编译器在查找头文件时的搜索路径。
将所需要的头文件路径添加到"includePath"就不需要再将有文件负责到项目文件夹中了。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
// 将source code解压出的sqlite3.h等文件的路径添加到下面
// 比如 D:/myinclude/sqlite3
"D:/myinclude/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.22000.0",
"compilerPath": "你的g++\\编译器所在路径\\g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "你的g++\\编译器所在路径\\g++.exe", //替换为自己的编译器路径
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-I", // -I 后面跟着一个目录路径。这个选项告诉编译器在该目录下查找头文件
"D:/myinclude/**", // 在"includePath"中自己添加的头文件路径,比如D:/myinclude/sqlite3
//-L 是一个用于链接器的命令行选项,它用于指定库文件的搜索路径。
//在使用 GCC 或类似的编译器编译程序时,如果程序需要链接到某些库
//那么 -L 选项后面跟着的路径会被加入到库文件搜索路径中。
"-L",
"D:/myServer/SQLServer/sqlite3", // 需要的库是sqlite3.dll
"-lsqlite3", // 将SQLite3库的功能链接到程序中
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-fexec-charset=GBK" // 防止在控制台出现中文乱码
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
使用C++连接测试
测试代码
#include <iostream>
#include <sqlite3.h>
#include <string>
using namespace std;
int main()
{
sqlite3 *db;
char *errorMessage = 0;
int rc;
rc = sqlite3_open("C:\\Users\\15512\\Desktop\\test01.db", &db);
if (rc)
{
cout << "无法打开数据库: " << sqlite3_errmsg(db) << endl;
system("pause");
return 0;
}
else
{
cout << "成功打开数据库" << endl;
}
sqlite3_close(db);
system("pause");
return 0;
}