Openssl数据安全传输平台016:在QT中的数据库操作+在项目中的设计与实现

这篇具有很好参考价值的文章主要介绍了Openssl数据安全传输平台016:在QT中的数据库操作+在项目中的设计与实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 在QT中 的数据库操作

  • 在Qt中进行数据库操作需要使用的类: QSqlDataBase

    • 属于的模块: sql

    • 使用这个类可以创建出一个连接数据库服务器的实例文章来源地址https://www.toymoban.com/news/detail-735613.html

      • 单例

1.1 QSqlDatabase

// 打印qt支持的数据库驱动的名字
// QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
[static] QStringList QSqlDatabase::drivers()
// 添加一个数据库实例
[static] QSqlDatabase QSqlDatabase::addDatabase(const QString &type, const QString &connectionName = QLatin1String( defaultConnection ))
    参数:
        - type: 连接什么样的数据库, 不同的数据库对应不同的type字符串
        - connectionName: 连接名, 在一个项目中连接2个及以上数据库的时候需要指定连接名
// 得到通过addDatabase函数添加的实例对象
[static] QSqlDatabase QSqlDatabase::database(const QString &connectionName = QLatin1String( defaultConnection ), bool open = true)
// 关闭数据库连接
void QSqlDatabase::close();

// 初始化要连接远程数据库服务器信息
// 设置远程数据库服务器地址
void QSqlDatabase::setHostName(const QString &host);
    - host: 可被解析的域名, 或者是一个IP地址
// 设置连接的服务器监听的端口
// 这个函数可以不调用, 如果数据库的监听的默认端口没有被修改过, 就不需要进行setPort的设置
void QSqlDatabase::setPort(int port);
// 设置数据实例名(数据库名)
void QSqlDatabase::setDatabaseName(const QString &name);
// 设置数据库用户
void QSqlDatabase::setUserName(const QString &name);
// 设置数据库密码
void QSqlDatabase::setPassword(const QString &password);

// 连接数据库
// 返回true-> 连接成功, false-> 连接失败
bool QSqlDatabase::open();

// 事务相关
bool QSqlDatabase::transaction();
// 提交事务
bool QSqlDatabase::commit();
// 数据回滚
bool QSqlDatabase::rollback();

1.2 QSqlQuery

// 构造函数
QSqlQuery::QSqlQuery(const QString &query = QString(), QSqlDatabase db = QSqlDatabase());
// 执行一个sql语句, 可以在构造对象的时候指定, 也可以在exec的时候指定
bool QSqlQuery::exec();
bool QSqlQuery::exec(const QString &query);

// 如果是查询数据库, 会得到一个结果集, 结果可以保存在 QSqlQuery 对象中
// 遍历结果集, 一条记录一条记录的遍历
bool QSqlQuery::next();
// 得到每条记录中的字段值
QVariant QSqlQuery::value(int index) const;
    - index: 字段在当前记录中的编号,0开始
QVariant QSqlQuery::value(const QString &name) const;
    - name: 字段的名字

2 QT中json相关的操作类

// 常用类一共有四个
QJsonDocument
QJsonArray
QJsonObject
QJsonValue

// 使用json实际场景: json数据在内存, json数据在磁盘中
// 数据在磁盘文件中
1. 读磁盘文件 -> 字符串 -> json格式
2. json格式字符串 -> json数组/对象
    - 通过QJsonDocument进行转换
3. 使用QJsonArray或QJsonObject api对数据进行操作

2.1 json格式字符串 -> json文档对象

// json格式字符串 -> json文档对象
[static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = Q_NULLPTR);
// 判断文档对象中存储的是数组还是对象
bool QJsonDocument::isArray() const;
bool QJsonDocument::isObject() const;
// 文档对象转换为数组
QJsonArray QJsonDocument::array() const;
// 文档对象转换为jsonobject
QJsonObject QJsonDocument::object() const;

2.2 组织一个json数组/json对象 -> 写文件/发送

// 在内存中组织一个json数组/json对象 -> 写文件/发送
1. 创建json数组/json对象 (空数组/对象)
2. 添加数据
    - jsonarray: append, insert
    - jsonobject: insert
3. 将jsonarray, jsonobject -> QJsonDocument对象
    QJsonDocument::QJsonDocument(const QJsonObject &object);
    QJsonDocument::QJsonDocument(const QJsonArray &array);
4. QJsonDocument对象中的数据 -> 字符串
    QByteArray QJsonDocument::toJson(JsonFormat format = Indented) const;
5. 比如要写磁盘
    QFile

到了这里,关于Openssl数据安全传输平台016:在QT中的数据库操作+在项目中的设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Openssl数据安全传输平台014:OCCI环境搭建和使用:Centos8-Oracle19c代码跑通 + Window代码没跑通(不影响本项目)

    https://www.bilibili.com/video/BV1eQ4y1H7CA/?vd_source=3353f83539e46042d8cf76efb177a8e4 10-Centos7环境下安装配置OCCI-12.2.0.1版本环境 Linux-CentOS8-Oracle19c 安装详解-含Navicate远程连接配置 Navicate远程连接Centos-Oracle19c:ORA-12541: TNS: no listener 无监听错误 - tcping 1521端口关闭 如何在windows下得到对应的occi的

    2024年02月08日
    浏览(31)
  • 如何通过安全数据传输平台,保护核心数据的安全传输?

    在数字化的浪潮中,企业的数据安全传输显得尤为关键。随着网络攻击手段的日益复杂,传统的数据传输方式已不再安全,这就需要我们重视并采取有效的措施,通过安全数据传输平台来保护核心数据。 传统的数据传输面临的主要问题包括: 1.网络带宽限制:企业的网络带宽

    2024年04月28日
    浏览(31)
  • 【云原生技术】云计算中的数据库数据传输服务简介

    云计算中的数据库数据传输服务是指用于在不同数据库环境之间迁移和同步数据的服务。这些服务通常由云服务提供商提供,用于帮助用户将他们的数据从本地数据库迁移到云数据库,或者在不同的云数据库之间迁移数据。这些服务关键在于确保数据迁移的安全性、高效性和

    2024年01月23日
    浏览(39)
  • 【QT+QGIS跨平台编译】之三:【OpenSSL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

    OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。 SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。SSL能使用户/服务器应用

    2024年01月22日
    浏览(57)
  • 跨平台C++ Qt数据库管理系统设计与实战:从理论到实践的全面解析

    在我们的日常生活中,数据无处不在。无论是我们的个人信息,还是我们的购物习惯,甚至是我们的工作记录,都可以被视为数据。这些数据的管理和处理,对于个人和企业来说,都是至关重要的。这就是数据库管理系统(Database Management System,简称DBMS)的重要性所在。 数据

    2024年02月06日
    浏览(43)
  • CloudQuery一体化数据库SQL操作安全管控平台

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 导读 CloudQuery作为业界领先的面向企业的数据库安全解决方案,CloudQuery致力于打造一站式安全可靠的数据操作平台,旨在帮助企业安全、高效地使用数据库,提升研发与DBA、运维的协作效率,为企业核心数据提供更安全

    2024年02月08日
    浏览(41)
  • 某高品质房产企业:借助NineData平台,统一数据库访问权限,保障业务安全

    该企业是中国领先的优质房产品开发及生活综合服务供应商。在 2022 年取得了亮眼的业绩表现,销售额市场占有率跻身全国前五。业务涵盖房产开发、房产代建、城市更新、科技装修等多个领域。 2023 年,该企业和玖章算术(浙江)科技有限公司达成合作,通过玖章算术的

    2024年02月04日
    浏览(33)
  • 构筑安全堡垒:详解OpenSSL与OpenSSH在等保三级升级中的关键作用

    OpenSSl是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是不能只将它作为一个库来使用,它是一个多用途。跨平台的密码工具。 OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库,SSL协议库以及应用程序。 OpenSSL的目录结构自然

    2024年04月10日
    浏览(29)
  • oracle 19c容器数据库data dump数据泵传输数据(4)---网络传输

    Transporting a Database Over the Network: Example 这个的方式导入可以不需要传输dmp文件,我原本是想从11g导入到pdb2的,但是因为版本的原因,就直接实验从pdb1导入到pdb2吧。 这种方式和前面完全传输的方式类似,不需要事先在目标数据库创建相同的表空间,而且不也不用有导出数据文

    2024年01月18日
    浏览(41)
  • 在当今信息化社会中的安全大文件传输

    随着科技的不断进步,数据已经成为各个领域和行业的宝贵财富。然而,随之而来的数据传输和交换问题也成为一个日益突出的挑战。在这篇文章中,我们将探讨在当今信息化社会中的安全大文件传输的重要性,以及如何应对传统传输方式所面临的各种挑战。 安全大文件传输

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包