Windows下使用C++操作SQLite

由于项目中要使用到SQLite数据库,所以特地学习记录下来

首先

先去官网下载源代码

https://www.sqlite.org/download.html

我下的是这个:

然后将解压出来的四个文件新建VS项目编译成lib文件

然后将lib文件和放入到要操作SQLite 的vs工程下

加入如下代码:

cpp 复制代码
#include "sqlite3.h"
#pragma comment( lib,"sqlite3.lib" )

然后就可以开始增删改查了

SQLite C/C++ Tutorial

C/C++ Interface APIs

介绍三个主要的 API,知道这三个API就可以简单的使用sqlite3了。tutotial写得非常清楚,我直接复制过来了
1.sqlite3_open(const char *filename, sqlite3 **ppDb)

This routine opens a connection to an SQLite database file and returns a database connection object to be used by other SQLite routines.

If the filename argument is NULL or ':memory:', sqlite3_open() will create an in-memory database in RAM that lasts only for the duration of the session.

If filename is not NULL, sqlite3_open() attempts to open the database file by using its value. If no file by that name exists, sqlite3_open() will open a new database file by that name.

2.sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)

This routine provides a quick, easy way to execute SQL commands provided by sql argument which can consist of more than one SQL command.

Here, first argument sqlite3 is open database object, sqlite_callback is a call back for which data is the 1st argument and errmsg will be return to capture any error raised by the routine.

3.sqlite3_close(sqlite3*)

This routine closes a database connection previously opened by a call to sqlite3_open(). All prepared statements associated with the connection should be finalized prior to closing the connection.

If any queries remain that have not been finalized, sqlite3_close() will return SQLITE_BUSY with the error message Unable to close due to unfinalized statements.

更多使用例子:

https://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm

相关推荐
Shadow(⊙o⊙)3 小时前
进程分析—从操作系统到Linux内核深入
linux·运维·服务器·开发语言·网络·c++·后端
计算机安禾3 小时前
【c++面向对象编程】第6篇:this指针:对象如何知道自己在调用谁?
开发语言·c++
m0_748554813 小时前
Golang怎么设置响应状态码_Golang如何用WriteHeader返回404或500状态【基础】
jvm·数据库·python
a7963lin3 小时前
如何处理Data Guard环境的口令更换_SYS密码修改后的主备库密码文件分发机制
jvm·数据库·python
2301_815279523 小时前
如何实现C++ Web 自动化测试实战:常用函数全解析与场景化应用指南
开发语言·前端·c++
2401_846339563 小时前
mysql如何查询所有列_mysql select星号性能分析
jvm·数据库·python
雨浓YN3 小时前
GKTGD 工业监控系统-04MySQL 与 SQLite 数据库对比(类库:NET8_SQLData)
数据库·sqlite·wpf
m0_748554813 小时前
uni-app怎么实现App指纹登录 uni-app生物识别API接入流程【详解】
jvm·数据库·python
2301_809204703 小时前
c++字符串运算_连接、比较、输入输出等运算符重载应用
jvm·数据库·python
闻缺陷则喜何志丹3 小时前
【动态规划 前缀和】P7074 [CSP-J2020] 方格取数|普及+
c++·算法·前缀和·动态规划·洛谷