QSqlQueryModel 与 QSqlTableModel
项目中需要对数据进行查询与展示,数据量不大,使用的是sqlite数据库,将使用过程记录如下。
-
QSqlTableModel 适用于显示整个表的数据,使用方式如下:
``
QSqlQuery query;//把数据库的数据放入到tableview中QSqlTableModel *model= new QSqlTableModel(this); model->setTable("TXXX"); //表的名称model->select(); model->setEditStrategy(QSqlTableModel::OnManualSubmit);// 设置表中显示的表头model->setHeaderData(0, Qt::Horizontal, tr("编号"));model->setHeaderData(1, Qt::Horizontal, tr("单位名称"));model->setHeaderData(2, Qt::Horizontal, tr("部门名称"));ui->tableView->setModel(model);
-
QSqlQueryModel 适用于显示查询的结果集,使用方式如下:
``
QSqlDatabase database = QSqlDatabase::database("xx");//连接的数据库名称QSqlQueryModel *model = new QSqlQueryModel(this);QSqlQuery query(database);QString str=QString("selece XXX XXX XXXXXXX");//要查询的数据语句if(query.exec(str)){model->setQuery(query);// 设置表中显示的表头model->setHeaderData(0, Qt::Horizontal, tr("编号"));model->setHeaderData(1, Qt::Horizontal, tr("单位名称"));model->setHeaderData(2, Qt::Horizontal, tr("部门名称"))ui->tableView->setModel(model);}