PyQt5 数据库处理
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
class MyApp(QMainWindow):
def __init__(self):
super().__init__()
self.init_db()
def init_db(self):
# 连接数据库
self.db = QSqlDatabase.addDatabase('QSQLITE')
self.db.setDatabaseName(':memory:')
self.db.open()
# 创建表格
query = QSqlQuery()
query.exec_("""CREATE TABLE IF NOT EXISTS people (
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL)""")
# 插入数据
query.exec_("INSERT INTO people (firstname, lastname) VALUES ('John', 'Doe')")
# 查询数据
query.exec_("SELECT firstname, lastname FROM people")
while query.next():
print(query.value(0), query.value(1))
# 关闭数据库
self.db.close()
# 应用程序入口
app = QApplication([])
my_app = MyApp()
# 显示窗口(如果需要)
my_app.show()
app.exec_()
这段代码演示了如何在PyQt5中使用QtSql模块连接数据库、创建表格、插入数据和查询数据。这个例子使用SQLite数据库,但是PyQt5支持其他数据库如MySQL、PostgreSQL等。代码中包含了错误处理的基本框架,但是实际应用中应该添加更详细的错误处理逻辑。
评论已关闭