Qt|Qt数据库 QSqlTableModel实例操作(1)(2)
2、进入“撤销修改”按钮单击事件槽函数,并更改如下:
- void Widget::on_pushButton_2_clicked() //撤销修改
- {
- model->revertAll();
- }
我们需要在widget.cpp文件中添加头文件:
- #include
- #include
文章图片
我们将“陈刚”改为“李强”,如果我们点击“撤销修改”,那么它就会重新改为“陈刚”,而当我们点击“提交修改”后它就会保存到数据库,此时再点击“撤销修改”就修改不回来了。
可以看到,这个模型可以将所有修改先保存到model中,只有当我们执行提交修改后,才会真正写入数据库。当然这也是因为我们在最开始设置了它的保存策略:
- model->setEditStrategy(QSqlTableModel::OnManualSubmit);
第二,查询操作。
1.我们进入“查询”按钮的单击事件槽函数,更改如下:
- void Widget::on_pushButton_7_clicked() //查询
- {
- QString name = ui->lineEdit->text();
- model->setFilter(QObject::tr(“name = ‘%1′”).arg(name)); //根据姓名进行筛选
- model->select(); //显示结果
- }
2.我们进入“返回全表”按钮的单击事件槽函数,更改如下:
- void Widget::on_pushButton_8_clicked() //返回全表
- {
- model->setTable(“student”); //重新关联表
- model->select(); //这样才能再次显示整个表的内容
- }
运行效果如下:
文章图片
我们输入一个姓名,点击“查询”按钮后,就可以显示该记录了。再点击“返回全表”按钮则返回。
【Qt|Qt数据库 QSqlTableModel实例操作(1)(2)】 转载注明地址:http://www.chengxuyuans.com/Symbian/16738.html
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 数据库设计与优化
- 数据库总结语句
- MySql数据库备份与恢复
- LSTM网络层详解及其应用实例
- 数据库|SQL行转列方式优化查询性能实践
- Python-类和对象
- MySQL数据库的基本操作
- springboot整合数据库连接池-->druid
- Android|Android sqlite3数据库入门系列