pyqt5内置数据库如何使用
时间: 2024-12-24 13:40:09 浏览: 11
在PyQt5中,你可以使用`QSqlDatabase`和`QSqlQueryModel`类来进行数据库操作。以下是基本步骤:
1. **初始化数据库连接**[^1]:
```python
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
db = QSqlDatabase.addDatabase('QSQLITE') # 或者其他支持的数据库(如MYSQL, POSTGRES)
db.setDatabaseName('your_database.db') # 指定数据库文件名
if not db.open(): # 打开数据库
print("Failed to open database!")
```
2. **执行SQL查询**:
```python
query = QSqlQuery("SELECT * FROM your_table") # 建立查询语句
while query.exec_():
row = query.record()
while row.isValid():
print(row.value(index)) # index是你想要的数据列对应的索引
row.next()
```
3. **使用QSqlTableModel**展示数据到QTableView:
```python
model = QSqlQueryModel()
model.setQuery(query)
view.setModel(model)
```
4. **注意事项**:
- 使用占位符防止SQL注入,如 `query.prepare("SELECT * FROM users WHERE name = ? AND age > ?", "John Doe", 30)`
- 错误处理,通过`model.lastError()`检查查询结果。
5. **关闭连接**:
```python
db.close()
```
通过这些步骤,你可以开始在PyQt5应用中集成数据库操作。学习如何编写更复杂的查询、事务处理以及利用ORM(对象关系映射)框架如`PyQt5.QtSql.QtSqlQueryModel`会更有助于提高效率和安全性。
阅读全文