Как заставить кнопку выполнять sql запрос
Не понимаю как в PyQt заставить кнопку при нажатии выполнять sql
запрос. Я лютый дилетант, но я пытался читать документацию и ничего не понял.
По идее надо передавать в клик кнопки функцию, которая что-то делает, однако при нажатии приложение крашится с кодом - 1073740791 (0xC0000409)
.
import sys
from dbconfig import dbconfig
import mysql.connector
from PyQt5 import QtWidgets
from PyQt5.uic import loadUi
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
connection = mysql.connector.connect(**dbconfig)
cursor = connection.cursor()
super(MainWindow, self).__init__()
loadUi("interface.ui", self)
self.loadData(cursor, connection)
self.pushButton.clicked.connect(self.buttonclick)
def loadData(self, cursor, connection):
cursor.execute("CREATE DATABASE IF NOT EXISTS testdb")
cursor.execute("USE testdb")
connection.commit()
def buttonclick(self, cursor, connection):
cursor.execute("CREATE TABLE IF NOT EXISTS test (id INT PRIMARY KEY AUTO_INCREMENT, col2 INT)")
connection.commit()
print("success")
def main():
app = QtWidgets.QApplication([])
application = MainWindow()
application.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()
Ничего особенного, просто файл подключения
dbconfig = {'host': '127.0.0.1',
'user': 'root',
'password': '123123', }
Источник: Stack Overflow на русском