00. 目录
文章目录00. 目录01. 概述02. 开发环境03. QSqlTableModel基本操作04. QSqlTableModel修改操作05. QSqlTableModel查询操作06. QSqlTableModel排序操作07. QSqlTableModel删除操作08. QSqlTableModel插入操作09. QSqlTableModel总结10. 附录
01. 概述
只读的QSqlQueryModel模型其实也可以实现编辑功能的,但是实现起来很麻烦。而QSqlTableModel提供
Py
Qt 有内置的
数据库连接类
QtSql 。
在
使用 Py
Qt 连接
MySql 展示数据时,如果明确所有
数据库操作都与
Qt 窗口有关,且不涉及复杂的数据操作,则可以
使用内置的
QtSql 类。不需要安装额外的
数据库类,且能更加便利的与
QtTableView 等
Qt 控件进行数据交互。
db =
QtSql.Q
SqlDatabase.addDatabase('Q
MYSQL')
db.setHostName('localhost')
db.setDatabaseName('dev')
db.setUserName('root')
db.setPassword('123')
QT利用QSqlQuery类执行SQL语句并且还有对QSqlTableModel类操作。一共两种方法操作数据库。直接编译就行了,已经测试过,用的是qt5编译的。
包括:连接Mysql数据库,插入,修改,删除,查询指定数据等操作。
当使用Python编程时,可以通过使用PyQt中的QSqlTableModel类来修改数据库。该类提供了一种将表格数据映射到SQL数据库的方式,并且可以自动将表格更改同步到数据库中。以下是一个示例代码,可以帮助你更好地理解如何使用QSqlTableModel类修改数据库:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel
# Connect to the database
db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('example.db')
db.open()
# Create the model and set the table name
model = QSqlTableModel()
model.setTable('my_table')
# Set the column names
model.setHeaderData(0, Qt.Horizontal, 'ID')
model.setHeaderData(1, Qt.Horizontal, 'Name')
model.setHeaderData(2, Qt.Horizontal, 'Age')
# Select the data
model.select()
# Modify a record
record = model.record(0)
record.setValue('Name', 'Alice')
model.setRecord(0, record)
# Submit the changes to the database
model.submitAll()
# Close the database connection
db.close()
在这个例子中,我们首先连接到数据库并创建了一个QSqlTableModel对象。然后,我们设置了模型的表格名称和列名,并使用select()方法选择了所有数据。接下来,我们修改了第一行的记录,并使用submitAll()方法将更改提交到数据库中。最后,我们关闭了数据库连接。