zoukankan      html  css  js  c++  java
  • Qt QTableModel联表显示

    要求:项目要求数据库数据以表格形式显示出来;而且数据涉及两个表

    笔记:①做过几个测试发现QSqlTableModel使用数据库并连接QTableView显示速度最快

         ②使用QSqlTableModel发现不能声明两个表格;只有最后一个setTable()生效 

    方法:①创建视图或者临时表方式来配合QSqlTableModel(我是用的临时表)

    视图可以被看成是虚拟表或存储查询。
    临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。

          ②QSqlTableModel加载视图

    //判断并删除临时表
        if( !SqlOperation::SqlOperation_Oper("DROP TABLE IF EXISTS VibralistTemp;"))return;
        if( SqlOperation::SqlOperation_Oper(str_vibra) )//创建临时表
        //str_vibra就是内联两个表的sql语句
        //加载数据库数据
        {
            qDebug()<<"创建临时表";
            QSqlDatabase db = SqlConnectionPool::openConnection();
            modelList_Vibra = new QSqlTableModel(this,db);
            modelList_Vibra->setTable("VibralistTemp");  //指定模型要关联的表(employee)
            modelList_Vibra->setEditStrategy(QSqlTableModel::OnManualSubmit);//手动提交
            modelList_Vibra->select();  //查询表格数据
            ui->tableView_2->setModel(modelList_Vibra);
            ui->tableView_2->horizontalHeader()->setResizeMode(QHeaderView::Stretch);//表格平均显示
            ui->tableView_2->show();
            SqlConnectionPool::closeConnection(db);
        }
  • 相关阅读:
    GhostNet: More Features from Cheap Operations
    Distribution-Aware Coordinate Representation for Human Pose Estimation
    如何从零开始学习自动化
    selenium---博客园登录
    selenium---屏幕截图
    selenium---web页面定位toast
    selenium---JS修改属性处理日历控件
    selenium---cookie处理
    selenium---处理SSL证书错误问题
    selenium---JS处理滚动条
  • 原文地址:https://www.cnblogs.com/shuoguoleilei/p/13305983.html
Copyright © 2011-2022 走看看