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

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

相关推荐
Leo.yuan2 分钟前
数据库同步是什么意思?数据库架构有哪些?
大数据·数据库·oracle·数据分析·数据库架构
Kookoos8 分钟前
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
数据库·c#·.net·neo4j·abp vnext
云之兕34 分钟前
MyBatis 的动态 SQL
数据库·sql·mybatis
gaoliheng00640 分钟前
Redis看门狗机制
java·数据库·redis
?ccc?1 小时前
MySQL主从复制与读写分离
数据库·mysql
远方16091 小时前
10-Oracle 23 ai Vector Search 概述和参数
人工智能·oracle
会飞的Anthony2 小时前
数据库优化实战分享:高频场景下的性能调优技巧与案例解析
数据库
潘yi.2 小时前
Redis哨兵模式
数据库·redis·缓存
行止62 小时前
MySQL主从复制与读写分离
linux·数据库·mysql