要在 PyQt5 中连接 Kingbase 数据库并在子线程中执行插入数据的函数,你可以使用以下步骤:\n\n1. 导入必要的模块:\npython\nimport sys\nfrom PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton\nfrom PyQt5.QtCore import QThread\nimport kingbase.connector\n\n\n2. 创建子线程类:\npython\nclass InsertThread(QThread):\n def __init__(self):\n super().__init__()\n\n def run(self):\n # 在这里执行插入数据的函数\n insert_data()\n\n\n3. 创建主窗口类:\npython\nclass MainWindow(QMainWindow):\n def __init__(self):\n super().__init__()\n\n self.init_ui()\n\n def init_ui(self):\n # 创建按钮并连接到插入数据方法\n button = QPushButton("插入数据", self)\n button.clicked.connect(self.insert_data)\n\n self.setCentralWidget(button)\n\n def insert_data(self):\n # 创建子线程实例并启动\n thread = InsertThread()\n thread.start()\n\n\n4. 编写插入数据的函数:\npython\ndef insert_data():\n # 连接 Kingbase 数据库\n conn = kingbase.connector.connect(user='your_username', password='your_password', \n database='your_database', host='your_host', \n port='your_port')\n\n # 创建游标\n cursor = conn.cursor()\n\n # 执行插入数据的 SQL 语句\n sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"\n data = ('value1', 'value2')\n cursor.execute(sql, data)\n\n # 提交事务并关闭连接\n conn.commit()\n cursor.close()\n conn.close()\n\n\n5. 创建应用程序实例并运行主循环:\npython\nif __name__ == '__main__':\n app = QApplication(sys.argv)\n\n window = MainWindow()\n window.show()\n\n sys.exit(app.exec_())\n\n\n确保将上述代码中的"your_username"、"your_password"、"your_database"、"your_host"、"your_port"、"your_table"、"column1"、"column2"、"value1"、"value2"替换为实际的值。\n\n这样,当你点击界面上的按钮时,插入数据的函数将在子线程中执行。


原文地址: https://www.cveoy.top/t/topic/pLg8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录