如何入门本地开发并连接SQLite数据库?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1052个文字,预计阅读时间需要5分钟。
很多人写完代码后,通常会使用sqlite3_open函数来打开SQLite数据库。这个函数的用法如下:
实操建议:
- 永远用
if (rc != SQLITE_OK)判断sqlite3_open结果,别只看指针是否为nullptr - 路径尽量用绝对路径或确保工作目录可控;相对路径如
"./db/app.db"在 IDE 调试时容易因启动目录不同而失败 - Windows 下注意反斜杠转义:
"C:\data\app.db"或用正斜杠"C:/data/app.db"更安全 - 如果文件不存在,
sqlite3_open默认会创建它;但父目录不存在就会失败,得提前用_mkdir(Windows)或mkdir(POSIX)建好
执行 SQL 用 sqlite3_exec 还是 sqlite3_prepare_v2?
sqlite3_exec 看似简单,但只适合一次性、无参数、不关心结果结构的语句(比如建表、插入固定数据)。只要涉及用户输入、查询结果遍历、或需要复用语句,就必须用 sqlite3_prepare_v2 + sqlite3_step 流程,否则极易被 SQL 注入或内存泄漏。
本文共计1052个文字,预计阅读时间需要5分钟。
很多人写完代码后,通常会使用sqlite3_open函数来打开SQLite数据库。这个函数的用法如下:
实操建议:
- 永远用
if (rc != SQLITE_OK)判断sqlite3_open结果,别只看指针是否为nullptr - 路径尽量用绝对路径或确保工作目录可控;相对路径如
"./db/app.db"在 IDE 调试时容易因启动目录不同而失败 - Windows 下注意反斜杠转义:
"C:\data\app.db"或用正斜杠"C:/data/app.db"更安全 - 如果文件不存在,
sqlite3_open默认会创建它;但父目录不存在就会失败,得提前用_mkdir(Windows)或mkdir(POSIX)建好
执行 SQL 用 sqlite3_exec 还是 sqlite3_prepare_v2?
sqlite3_exec 看似简单,但只适合一次性、无参数、不关心结果结构的语句(比如建表、插入固定数据)。只要涉及用户输入、查询结果遍历、或需要复用语句,就必须用 sqlite3_prepare_v2 + sqlite3_step 流程,否则极易被 SQL 注入或内存泄漏。

