QTableView与QSqlQueryModel的简单使用

测试:

这里有一个sqlite数据库

存储了10万多条数据,col1是1,col2是2.

使用QSqlQueryModel和QTableView来显示这些数据,也非常非常流畅。

cpp 复制代码
    QString aFile = QString::fromLocal8Bit("E:/桌面/3.db");
    if (aFile.isEmpty())
        return;
    //打开数据库
    DB = QSqlDatabase::addDatabase("QSQLITE"); 
    DB.setDatabaseName(aFile); //设置数据库名称
    if (!DB.open())   //打开数据库
    {
        QMessageBox::warning(this, "错误", "打开数据库失败",
            QMessageBox::Ok, QMessageBox::NoButton);
        return;
    }
    qryModel = new QSqlQueryModel(this);
    qryModel->setQuery("select rowid,col1,col2 from test;");
    if (qryModel->lastError().isValid())
    {
        QMessageBox::critical(this, "错误", "数据表查询错误,错误信息\n" + qryModel->lastError().text(),
            QMessageBox::Ok, QMessageBox::NoButton);
        return;
    }
    tableView = new QTableView;
    tableView->setModel(qryModel);
    this->setCentralWidget(tableView);

可以看到数据是动态加载的。

相关推荐
上78将13 小时前
JVM的程序计数器
jvm
江湖人称贺行风13 小时前
数据库八股
数据库·八股
墨笔之风13 小时前
数据库文档生成工具(PostgreSQL 适配版 - Java 8 兼容)
java·数据库·postgresql
小雨下雨的雨13 小时前
第7篇:Redis性能优化实战
数据库·redis·性能优化
姜太小白13 小时前
【数据库】SQLite 时间加1天的方法总结
java·数据库·sqlite
先做个垃圾出来………13 小时前
SQL字符串函数
数据库·sql
if时光重来13 小时前
kingbase数据库解决执行更新字段时锁表问题
数据库·kingbase
前端小臻13 小时前
数据库表设计的流程(包含设计流程、建立数据库模型以及使用dbword导出数据库文档)
数据库
数据库知识分享者小北13 小时前
Dify+ADB Supabase+LLM 实现 AI 客服系统
数据库·人工智能·阿里云·adb·postgresql
数据库学啊13 小时前
专业的车联网时序数据库排名是怎样的
数据库·时序数据库