Qt(C++)中如何连接sqlite3数据库及如何使用

第一步

引入相关文件

①将sqlite一些对应的文件复制到qt的工程文件

Qt(C++)中如何连接sqlite3数据库及如何使用

②在工程配置文件.pro中加入 LIBS += $$PWD/lib/sqlite3.lib

Qt(C++)中如何连接sqlite3数据库及如何使用

$$:表示当前工程目录

第二步

在qt中使用sqlite3数据库

①加入数据库头文件 #include “sqlite3.h”

Qt(C++)中如何连接sqlite3数据库及如何使用

②打开数据库 int res=sqlite3_open(“数据库名”,指针变量);

Sqlite3 * sqldb =nullptr;

返回值:错误的代码

Qt(C++)中如何连接sqlite3数据库及如何使用

③判断是否打开成功

Sqlite3_errcode();//查看错误号

Sqlite3_errmsg();//查看错误信息

Qt(C++)中如何连接sqlite3数据库及如何使用

④对数据库进行操作(增删改查等操作)

⑤关闭数据库

Int msg=sqlite3_close();

Qt(C++)中如何连接sqlite3数据库及如何使用

⑥判断是否关闭成功

Sqlite3_errcode();//查看错误号

Sqlite3_errmsg();//查看错误信息

Qt(C++)中如何连接sqlite3数据库及如何使用

第二步中的④ 对数据库进行操作(增删改查等操作)可以使用以下3种方法

①预编译sql语句

int sqlite3_prepare(sqlite3, const char, int, sqlite3_stmt,const char)

功能:预编译和解析SQL文本,准备执行

参数:

1、数据库连接指针【IN】

2、sql语句【IN】

3、sql语句最大字符数【IN】

4、处理后语句statement【out】

5、返回sql语句未使用部分的指针【out】

返回值:错误代码,参见SQLite错误代码

获取结果集

int sqlite3_step(sqlite_stmt *pstmt)

功能:执行SQL,返回结果集

参数:1、statement对象【IN】

返回值:错误代码,参见SQLite错误代码

使用说明:

返回SQLITE_ROW表示准备好一行的数据。

返回SQLITE_DONE表示执行完成,无数据。

如果只是执行SQL,则该函数只调用一次即可。

行数据获取

int sqlite3_column_int(sqlite_stmt *pstmt,int col)

功能:获取某行数据中的各列值

参数:

1、pstmt-statement对象【IN】

2、col-列位置,从0开始编号

返回值:返回列值

定义完的statement要释放,使用函数重置对象

int sqlite3_reset(sqlite_stmt *pstmt)

功能:重置statement对象资源

参数:1、statement对象【in】

返回值:错误代码,参见SQLite错误代码

②执行sql语句

int sqlite3_exec(sqlite3 db,const char sql, sqlite3_callback, void *, char errmsg)**

该函数一般用于不需要结果的操作,比如修改,删除或者添加操作

功能:执行多条或一条SQL语句,并将结果传递给回调函数

参数:

  1. 数据库连接【IN】
  2. 要执行的sql语句【IN】
  3. 回调函数 【IN】

4、传递给回调函数的参数地址【IN】

5、返回的错误信息【out】

返回值:错误代码,参见SQLite错误代码

Qt(C++)中如何连接sqlite3数据库及如何使用

参数3是一个回调函数

int 函数名(void*,int,char, char)

功能: sqlite3_exec每查询到一条记录调用一次该回调函数

参数:

  1. 传入的参数【IN】

2、结果集的列数【IN】

3、列值 【IN】

4、列名【IN】

返回值:

回调函数如果返回0 那么他会把全部的数据都给查询出来,如果返回大于0 或者没有给返回值,他就只查询一条数据

Qt(C++)中如何连接sqlite3数据库及如何使用

Qt(C++)中如何连接sqlite3数据库及如何使用

③SQLite3_get_table 函数(适用于查询数据操作)

int SQLite3_get_table(sqlite3, const char *sql, char presult, int nrow, int ncolumn, char errmsg)

功能:无需回调函数处理,直接查询结果集

参数:

  1. 数据库连接结构【IN】

2、SQL语句【IN】

3、结果集 【out】

4、行数【out】

5、列数【out】

6、错误信息【out】

返回值:错误代码,参见SQLite错误代码

Qt(C++)中如何连接sqlite3数据库及如何使用

Qt(C++)中如何连接sqlite3数据库及如何使用

Original: https://blog.csdn.net/m0_59173154/article/details/124023921
Author: .while(1);
Title: Qt(C++)中如何连接sqlite3数据库及如何使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815296/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球