小工具知识网

当前位置: 首页 > 行业知识 > 一文带你Qt数据库从入门到实战

行业知识

一文带你Qt数据库从入门到实战

2026-11-09 02:09:43 来源:互联网转载

文章目录

    • 示例图
    • 主要实现功能点
    • 入门
      • SQLite
      • QSqlTableModel
      • 实战
        • 导入
        • 导出
        • ���结

          示例图

          主要实现功能点

          1. 导入导出与初始化数据库
          2. 数据的增删改查
          3. 数据的撤销与保存
          4. 数据的排序与过滤
          5. 图片的自定义行为
          6. 控件与数据之间的交互
          • 文末我会提供源码给大家参考

            入门

            • 简单的入门QT数据库我们从了解QSQLite与QSqlTableModel开始。

              SQLite

              • 一个轻量级的数据库引擎,它的数据库是一个单一文件,因此非常适合移动应用和嵌入式设备。Qt 通过 SQL 模块提供对 SQLite 的接口,可以执行创建、查询、更新和删除(CRUD)操作,以及管理数据库连接和事务。

                以下是使用 Qt SQLite 数据库的基本步骤:

                1. 包含必要的头文件:
                #include #include #include 
                1. 创建数据库连接:
                QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("your_database.db");if (!db.open()) {    qDebug()     qDebug()     qDebug()     while (query.next()) {        int id = query.value(0).toInt();        QString name = query.value(1).toString();        int age = query.value(2).toInt();        qDebug()     qDebug()     qDebug()     qDebug()     qDebug()     qDebug()  // 打开数据表    QString aFile = QFileDialog::getOpenFileName(this, "选择数据库文件", "",  "SQL Lite数据库(*.db *.db3)");    if (aFile.isEmpty()) // 选择SQL Lite数据库文件        return;    // 打开数据库    DB = QSqlDatabase::addDatabase("QSQLITE"); // 添加 SQL LITE数据库驱动    DB.setDatabaseName(aFile);                 // 设置数据库名称    //    DB.setHostName();//若是需要用户密码    //    DB.setUserName();    //    DB.setPassword();    if (!DB.open()) // 打开数据库    {        QMessageBox::warning(this, "错误", "打开数据库失败",                             QMessageBox::Ok, QMessageBox::NoButton);        return;    }    // 打开数据表    openTable();}- `openTable()`是非常关键的函数,里面交代了`QSqlTableModel`的设置,代码过长,在源码中。    if (tabModel == nullptr)        return;    // 获取原始数据库的结构    QSqlRecord record = tabModel-record();    // 断开现有Qt管理的数据库连接,并连接到一个新的数据库文件    QString connectionName = "NewConnection";    QSqlDatabase newDB = QSqlDatabase::addDatabase("QSQLITE", connectionName);    QString saveFilePath = QFileDialog::getSaveFileName(nullptr,         "Save File",         QString(), // 默认保存的文件夹路径,这里使用默认值         "SQL Lite数据库(*.db *.db3)");    newDB.setDatabaseName(saveFilePath);    if (!newDB.open())        return;    QSqlQuery query(newDB);    QString createTableQuery = QString("CREATE TABLE %1 (").arg(tabModel-tableName()); // 创造表    for (int i = 0; i 

上一篇:方维拼团系统全解析,功能优势与用户体验一网打尽!

下一篇:straight怎么速记?