pyqt qtmysql 增删改查封装代码
时间: 2023-10-30 21:05:05 浏览: 139
增删查改代码.sql
可以直接使用Qt的QSqlQuery类进行封装,以下是一个示例:
```python
import PyQt5.QtSql as QtSql
class QtMySQL:
# 数据库连接信息
host = 'localhost'
port = 3306
database = 'test'
user = 'root'
password = 'password'
# 打开数据库连接
def open(self):
self.db = QtSql.QSqlDatabase.addDatabase('QMYSQL')
self.db.setHostName(self.host)
self.db.setPort(self.port)
self.db.setDatabaseName(self.database)
self.db.setUserName(self.user)
self.db.setPassword(self.password)
if not self.db.open():
print(f'Error: {self.db.lastError().text()}')
# 关闭数据库连接
def close(self):
self.db.close()
# 查询数据
def select(self, sql):
self.open()
query = QtSql.QSqlQuery()
query.exec_(sql)
data = []
while query.next():
row = []
for i in range(query.record().count()):
row.append(query.value(i))
data.append(row)
self.close()
return data
# 插入数据
def insert(self, sql):
self.open()
query = QtSql.QSqlQuery()
query.exec_(sql)
self.close()
# 更新数据
def update(self, sql):
self.insert(sql)
# 删除数据
def delete(self, sql):
self.insert(sql)
```
其中,需要安装PyQt5和PyMySQL库。使用示例:
```python
qtmysql = QtMySQL()
# 查询
data = qtmysql.select('SELECT * FROM test_table')
print(data)
# 插入
qtmysql.insert('INSERT INTO test_table(name, age) VALUES("Tom", 20)')
# 更新
qtmysql.update('UPDATE test_table SET age=21 WHERE name="Tom"')
# 删除
qtmysql.delete('DELETE FROM test_table WHERE name="Tom"')
```
接下来,笑话时间:为什么程序员总是忘记喝水?因为常常在打代码的时候,会一不小心就进入死循环。
阅读全文