根据lineEdit输入内容查询数据库
时间: 2024-05-06 07:15:48 浏览: 89
首先需要连接数据库,然后根据lineEdit输入的内容构造SQL查询语句,执行查询并将结果展示在界面上。
以下是一个简单的示例代码:
```python
import sqlite3
from PyQt5.QtWidgets import QWidget, QLabel, QLineEdit, QVBoxLayout
class ExampleWidget(QWidget):
def __init__(self):
super().__init__()
# 连接数据库
self.conn = sqlite3.connect('example.db')
# 创建界面元素
self.label = QLabel('请输入查询内容:')
self.line_edit = QLineEdit()
self.result_label = QLabel()
# 布局界面元素
layout = QVBoxLayout()
layout.addWidget(self.label)
layout.addWidget(self.line_edit)
layout.addWidget(self.result_label)
self.setLayout(layout)
# 绑定信号槽
self.line_edit.textChanged.connect(self.query_database)
def query_database(self):
# 获取lineEdit输入内容
query = self.line_edit.text()
# 构造SQL查询语句
sql = f"SELECT * FROM example_table WHERE column LIKE '%{query}%'"
# 执行查询并获取结果
cursor = self.conn.execute(sql)
result = cursor.fetchall()
# 将结果展示在界面上
self.result_label.setText(str(result))
```
其中,'example.db' 是数据库文件名,'example_table' 是表名,'column' 是需要查询的列名。这里的查询语句是模糊匹配,可以根据实际需求修改。
阅读全文