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

相关推荐
别动我齐刘海2 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
傻啦嘿哟2 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅3 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
闻道且行之4 小时前
图片处理助手|泊松融合原理 + C++ 工程实现,seamlessClone 三模式一次讲透
数据库·c++·人工智能·opencv
莫浅子4 小时前
day01-USB架构与枚举
c++·单片机·嵌入式驱动
小欣加油5 小时前
leetcode3069 将元素分配到两个数组中I
数据结构·c++·算法·leetcode·职场和发展
不会代码的小猴5 小时前
7. JSON
开发语言·c++·笔记·qt·算法·json
沫璃染墨5 小时前
《Qt从零入门系列(六):信号与槽进阶——从多种连接方式到Lambda表达式》
开发语言·c++·qt·代码规范·设计规范·qt5
小小龙学IT6 小时前
ZeroMQ(libzmq)开源消息库深度解析:brokerless 时代的轻量消息内核
c++·开源
Benny_Tang7 小时前
题解:P10230 [COCI 2023/2024 #4] Lepeze
c++·算法