PyQt5 用QSqlTableModel操作sql数据库(插入新的列和setFilter()的使用)

这篇主要是解决在pyqt5中,如何用QSqlTableModel模型为数据库添加新列,以及在执行查询操作时,如何使用setFilter()进行过滤。
添加新列之前:

 self.model = QSqlTableModel(self)
 self.model.setTable("reference")
 self.model.setSort(ID, Qt.AscendingOrder)
 self.model.setHeaderData(ID, Qt.Horizontal, "ID")
 self.model.setHeaderData(CATEGORY, Qt.Horizontal,"会议室")
 self.model
QSqlTableModelPyQt5 中用来与数据库进行交互的模型类之一。在使用 QSqlTableModel 进行数据库开发时,可以使用一些相关的槽函数来实现一些操作。 1. setTable(tableName):设置要操作的数据表,参数 tableName 是数据库中的表名。可以通过该函数来指定要操作的表格。 2. select():执行 SQL 查询语句,获取表格中的数据。可以通过该函数来查询表格中的数据。 3. setFilter(filter):设置过滤条件,只显示符合条件的记录。参数 filter 是过滤条件,可以使用 SQL 语句的语法来设置过滤条件。 4. setSort(column, Qt.AscendingOrder/Qt.DescendingOrder):设置排序规则,按照指定进行升序或降序排序。参数 column 是要排序的索引,可以是表格中的字段名或索引,Qt.AscendingOrder 表示升序,Qt.DescendingOrder 表示降序。 5. setEditStrategy(strategy):设置编辑策略,指定对数据的修改后的提交方式。参数 strategy 可以是以下几种取值: - QSqlTableModel.OnFieldChange:在每次字段值发生变化时提交; - QSqlTableModel.OnRowChange:在每次行数据发生变化时提交; - QSqlTableModel.OnManualSubmit:需要手动调用 QSqlTableModel.submitAll() 函数来提交。 6. submitAll():将对表格的修改提交到数据库中。如果设置了编辑策略为 OnManualSubmit,需要手动调用该函数。 7. revertAll():撤销对表格的所有修改,恢复到最近一次调用 select() 时的状态。 这些槽函数可以用来操作 QSqlTableModel 对象,实现与数据库进行交互的功能。通过设置过滤条件、排序规则以及编辑策略,可以灵活地对数据库进行操作,并将修改提交或撤销。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值