第一步

引入相关文件

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

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

$$:表示当前工程目录

第二步

在qt中使用sqlite3数据库

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

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

Sqlite3 * sqldb =nullptr;

返回值:错误的代码

③判断是否打开成功

Sqlite3_errcode();//查看错误号

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

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

⑤关闭数据库

Int msg=sqlite3_close();

⑥判断是否关闭成功

Sqlite3_errcode();//查看错误号

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

 第二步中的④对数据库进行操作(增删改查等操作)可以使用以下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错误代码

参数3是一个回调函数

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

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

参数:

  1. 传入的参数【IN】

2、结果集的列数【IN】

3、列值 【IN】

4、列名【IN】

返回值:

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

③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数据库及如何使用相关推荐

  1. #arcgis 中无法连接mdb数据库解决方法

    #arcgis 中无法连接mdb数据库解决方法 最近看到部分人使用arcgis过程中出现无法连接mdb数据库或者是无法创建mdb数据.具体出现如图所示情况:连接到数据库失败:无法创建新的数据库,权限被 ...

  2. qt mysql 注册码_QT连接Oracle数据库并实现登录验证的操作步骤

    目的: 本文实现QT登录界面,输入账号和密码后,系统连接Oracle数据进行判断账号和密码(MD5加密)是否和数据库一致,如果一致则提示登录成功. 开发环境:Windows10+QT5.14.2+Or ...

  3. deno如何连接mysql_c 连接sqlite3数据库

    SQLite C语言接口 数据表设计 create table tbl_emp( id integer primary key , name varchar(40), age smallint, bi ...

  4. c# bindingsource mysql,Navicat for MySQL 使用教程:在.NET中如何连接MySQL数据库

    .NET非常棒,并提供了大量用于处理数据库和数据源的工具.有时虽然可能无法固有地支持数据源.在MySQL之类的情况下,为项目创建绑定源或数据源时可能看不到MySQL连接选项. 那你怎么办呢? 首先,下 ...

  5. vs2015如何连接oracle,VS2015中C#连接Oracle数据库

    硬件环境:Win10 64位+ VS2015 + ODP.Net for VS2015 配置ODP.Net Oracle Developer Tools for Visual Studio 12.1. ...

  6. vba mysql 3706_EXCEL中VBA连接oracle数据库字符串“运行出现3706错误”

    我在EXCEL中VBA连接oracle串如下 Conn.ConnectionString = "provider=oraoledb.oracle.1;password=******;user ...

  7. java中连接mysql数据库_java中怎么连接mysql数据库

    展开全部 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; i ...

  8. IntelliJ IDEA中JAVA连接MySQL数据库

    一.准备 1.安装好jdk,并配置好环境变量.(此处不加赘述) 2.下载MySQL的数据库驱动,下载链接:https://mvnrepository.com/artifact/mysql/mysql- ...

  9. MFC连接sqlite3数据库

    好一阵子没有更新了,因为项目已经做完了.这个项目的后期还有一个MFC的电脑上位机,这部分本来是由师姐做的,但是她忙,就让我小打小闹一下下. 这个MFC程序要求比较多,但是我先打算把基本框架做好,后期的 ...

最新文章

  1. UA MATH 571B 回归 QE练习题 一元线性回归理论
  2. 探索性数据分析EDA及数据分析图表的选择
  3. 如何用append连接html文件,jquery append()怎么用?
  4. 产品运营周报报表分析案例
  5. 关于Web端-UI自动化测试
  6. 关于打开NVIDIA控制面板闪退问题
  7. 学生管理系统实训报告
  8. Java类加载机制由浅入深
  9. 结构体数组定义时初始化
  10. html 文字竖着排引号,竖排文字 引号如何使用?
  11. 关于我 — About Me
  12. python 检查是否为数字(包括正负数、浮点数)
  13. react native 动画组件(Animated)浅析
  14. 关于处理Excel表中文字不能自动换行问题
  15. 骨传导耳机到底怎么样,五款好用的骨传导耳机推荐
  16. 【计算机网络】网页相关基础知识(万维网,HTTP,动态网页)
  17. Stratum mining protocol
  18. 海思AI芯片(Hi35XX): 图像jpg转.bgr
  19. 使用tensorflow进行简单的强化学习 1—Q-learning
  20. 基础练习 回形取数 C语言 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。

热门文章

  1. 解决maven项目-Dmaven.multiModuleProjectDirectory报错
  2. 怎样区分细菌性和病毒性感冒
  3. 【图像分类】 一文读懂AlexNet
  4. (附带一键脚本)Android安卓手机使用linuxdeploy做debian服务器安装homeassistant教程
  5. html垂直线性渐变,CSS线性渐变 垂直和水平渐变linear-gradient
  6. Java 数据类型(基本数据类型、引用数据类型)
  7. Python入门基础(下)之魔方方法
  8. 我的世界java史莱姆生成条件_关于我的世界史莱姆的生成条件分析介绍
  9. 极米投影仪: U盘安装APP
  10. 读书百客:《四时田园杂兴·其一》鉴赏