我正在尝试将我的pyqt表单连接到mysql数据库。我尝试使用以下代码连接到数据库并插入数据,但没有成功。我错过了什么?我得到一个属性错误 __enter__
. 这是什么意思?
from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox
from PyQt5.QtCore import pyqtSlot
import mysql.connector as mdb
from mainwindow import Ui_MainWindow
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
self.btnAdd.clicked.connect(self.InsertData)
@pyqtSlot()
def InsertData(self):
con = mdb.connect(user='root', password='password101',
host='localhost', database='sample_sys')
with con:
cur = con.cursor()
cur.execute("INSERT INTO name_info(name, age)"
"VALUES('%s','%s')" % (''.join(self.le_name.text()),
''.join(self.le_age.text())))
QMessageBox.information(self, "Connection", "Data Inserted Successfully")
self.close()
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
MainWindow = MainWindow()
MainWindow.show()
sys.exit(app.exec_())
提前谢谢!
1条答案
按热度按时间yqlxgs2m1#
我在使用mysqldb,一切正常。mysqldb是与流行的mysql数据库服务器(提供python数据库api)的线程兼容接口。
主窗口.py