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);

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

相关推荐
升鲜宝供应链及收银系统源代码服务20 分钟前
升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
java·开发语言·数据库·redis·缓存·开源·供应链系统
苦学编程的谢2 小时前
Redis_8_List
数据库·redis·缓存
曹天骄2 小时前
阿里云 DCDN → CDN 无缝切换教程(以 example.com 为例)
数据库·阿里云·云计算
workflower3 小时前
软件工程-练习
数据库·需求分析·个人开发·极限编程·结对编程
扶尔魔ocy3 小时前
【QT自定义2D控件】QGraphics绘制仪表盘
数据库·qt·microsoft
yookay zhang3 小时前
达梦数据库监听进程
网络·数据库·oracle
Archy_Wang_13 小时前
centos7的mysql做定时任务备份所有数据库
数据库·mysql
小满、4 小时前
对象住哪里?——深入剖析 JVM 内存结构与对象分配机制
java·jvm·#java对象分配·#hotspot实现
Java 码农4 小时前
MySQL基础操作案例设计
数据库·mysql
友友马4 小时前
『 QT 』按钮类控件属性解析
开发语言·数据库·qt