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

相关推荐
吃着火锅x唱着歌5 分钟前
深度探索C++对象模型 学习笔记 第五章 构造、解构、拷贝语意学(2)
c++·笔记·学习
玖釉-7 分钟前
Vulkan 离屏渲染详解:从 Framebuffer 到后处理、阴影贴图与 Render Texture
c++·windows·计算机视觉·图形渲染
cpp_250118 分钟前
P2947 [USACO09MAR] Look Up S
数据结构·c++·算法·题解·单调栈·洛谷
贺今宵22 分钟前
Vue 3 + Capacitor 使用jeep-sqlite,web端使用本地sqlite数据库
前端·数据库·vue.js·sqlite·web
楼田莉子24 分钟前
C++20新特性:协程
开发语言·c++·后端·学习·c++20
炘爚35 分钟前
phase1:基础框架——编译 + MySQL + 登录/注册
linux·c++
特种加菲猫1 小时前
C++11核心特性深度解析:从列表初始化到lambda与包装器
开发语言·c++
枕星而眠1 小时前
C++ 面向对象核心机制深度解析:多态性、虚函数、虚继承与 final 类
运维·开发语言·c++·后端
智者知已应修善业2 小时前
【51单片机8个LED,已经使用了D1D2,怎么样在不动D1D2的前提下实现D6~D8的流水灯】2024-1-19
c++·经验分享·笔记·算法·51单片机
坚果派·白晓明2 小时前
鸿蒙PC适配实战:simdjson 三方库移植攻略与 AtomCode Skills 提效之道
c++·harmonyos·三方库·skills·atomcode·c/c++三方库·c/c++三方库适配