QSqlTableModel对一个数据库的所有列进行模糊查询
时间: 2024-03-13 22:20:56 浏览: 203
数据库模糊查询
5星 · 资源好评率100%
可以通过设置QSqlTableModel的过滤器来实现对数据库的所有列进行模糊查询。具体步骤如下:
1. 创建QSqlTableModel对象并连接数据库:
```python
model = QSqlTableModel()
model.setTable("table_name")
model.setEditStrategy(QSqlTableModel.OnFieldChange)
model.select()
```
2. 设置过滤器,使用LIKE语句进行模糊查询:
```python
filter_str = "column_1 LIKE '%{}%' OR column_2 LIKE '%{}%' OR column_3 LIKE '%{}%'".format(keyword, keyword, keyword)
model.setFilter(filter_str)
model.select()
```
其中,column_1、column_2、column_3是表中的列名,keyword是要查询的关键字。
3. 显示查询结果:
```python
for row in range(model.rowCount()):
for col in range(model.columnCount()):
print(model.index(row, col).data(), end=" ")
print()
```
这样就可以对一个数据库的所有列进行模糊查询了。
阅读全文