美文网首页
Qt 数据存储(一)

Qt 数据存储(一)

作者: 秋冬不寒 | 来源:发表于2022-05-15 20:49 被阅读0次

    数据存储

    保存和加载数据

    QIODevice类是Qt Core中所有文件和数据存储设备的基类。所有用于读取和写入数据的类都继承自它。

    设备的示例是QFileQBufferQTcpSocketQProcess

    具体内容见如下链接:

    Qt 中的 SQL 支持

    Qt SQL模块使用驱动插件与多个数据库 API 进行通信。Qt 有适用于SQLite、MySQL、DB2、Borland InterBase、Oracle、ODBC 和 PostgreSQL 的驱动程序。如果 Qt 不提供所需的驱动程序,也可以开发自己的驱动程序。

    Qt 的 SQL 类可以分为 3 层:

    目的 示例类
    驱动层 数据库和 SQL API 层之间的低级通信 QSqlDriver , QSqlDriverCreator
    SQL API 层 提供对数据库的访问 QSql数据库, QSqlQuery
    用户界面层 将数据库中的数据链接到数据感知小部件 QSqlQueryModel (readonly), QSqlTableModel (read/write), QSqlRelationalTableModel (read/write with foreign-key support)

    使用除SQLite之外的所有 SQL 驱动程序,您可以连接到托管数据库系统的服务器。如果您使用嵌入式 MySQL 服务器,则不需要 MySQL 服务器即可使用该数据库系统。

    有关如何构建 SQL 数据库驱动程序的说明,请参阅SQL 数据库驱动程序

    Qt SQLite插件非常适合本地存储。SQLite是一个关系数据库管理系统,包含在一个小型 (~350 KiB) C 库中。与其他数据库管理系统相比,SQLite不是从客户端应用程序访问的单独进程,而是它的一个组成部分。SQLite对单个文件进行操作,打开连接时必须将其设置为数据库名称。如果文件不存在,SQLite将尝试创建它。

    SQLite对多用户和多事务有一些限制。如果您正在从不同的事务读取或写入文件,您的应用程序可能会冻结,直到一个事务提交或回滚。

    设置驱动程序部分后,可以使用类QSqlQueryModelQSqlTableModelQSqlRelationalTableModel访问数据。QSqlTableModelQSqlRelationalTableModel提供可与 Qt 的项目视图一起使用的可编辑模型。QSqlTableModel具有对单个表的读/写访问权限,而QSqlRelationalTableModel具有对主表的读/写访问权限(而不是具有外键的表)。

    以下页面包含有关将 SQL 合并到应用程序中的信息:

    相关文章

      网友评论

          本文标题:Qt 数据存储(一)

          本文链接:https://www.haomeiwen.com/subject/getvurtx.html