mysql init_connect的几个要点

init_connect的作用

init_connect通常用于:当一个连接进来时,做一些操作,比如设置autocommit为0,比如记录当前连接的ip来源和用户等信息到一个新表里,当做登陆日志信息

使用init_connect的注意点

1 只有超级账户才可以设置(super_priv权限)
2 超级账户无视init_connect设置(即init_connect的设置对来自超级账户的连接不生效)

import sys from PyQt5.QtWidgets import QApplication, QDialog, QMessageBox from PyQt5 import uic import pymysql # 数据库连接信息 db_config = { 'host': "localhost", 'user': "root", 'passwd': "123456", 'database': "car_sales" } try: conn = pymysql.connect(**db_config) print("数据库连接成功!") cur = conn.cursor() except Exception as err: print("数据库连接失败" + str(err)) QMessageBox.critical(None, "数据库错误", f"无法连接数据库: {err}") sys.exit(1) class Login(QDialog): def __init__(self): super().__init__() uic.loadUi("login.ui", self) self.pushButton.clicked.connect(self.login) self.pushButton_2.clicked.connect(self.register) self.pushButton_3.clicked.connect(self.back_password) def login(self): if self.lineEdit.text() and self.lineEdit_2.text(): login_id = self.lineEdit.text() login_password = self.lineEdit_2.text() sql = "SELECT password FROM users WHERE employee_id = %s" try: cur.execute(sql, (login_id,)) result = cur.fetchone() if result and login_password == result[0]: self.accept() elif result: QMessageBox.information(self, '登录失败', '密码错误!!!', QMessageBox.Ok) else: QMessageBox.information(self, '登录失败', '不存在该账号!!!', QMessageBox.Ok) except Exception as err: print("sql语句执行错误", err) conn.rollback() else: QMessageBox.information(self, '登录失败', '账号或密码不能为空!!!', QMessageBox.Ok) def register(self): from register import RegisterDialog self.register_dialog = RegisterDialog() self.register_dialog.show() self.close() def back_password(self): from forgot_password import ForgotPasswordDialog self.forgot_password_dialog = ForgotPasswordDialog() self.forgot_password_dialog.show() self.close() class Menu(QDialog): def __init__(self): super().__init__() uic.loadUi("menu.ui", self) self.pushButton.clicked.connect(self.add_sale) self.pushButton_2.clicked.connect(self.view_all) self.pushButton_3.clicked.connect(self.search_by_id) self.pushButton_4.clicked.connect(self.filter_by_amount) self.pushButton_5.clicked.connect(self.update_salesman) self.pushButton_6.clicked.connect(self.sort_by_amount) self.pushButton_7.clicked.connect(self.delete_record) self.pushButton_8.clicked.connect(self.logout) self.pushButton_9.clicked.connect(self.exit) def add_sale(self): from add_sale import AddSaleDialog self.add_sale_dialog = AddSaleDialog() self.add_sale_dialog.show() self.close() def view_all(self): from view_all import ViewAllDialog self.view_all_dialog = ViewAllDialog() self.view_all_dialog.show() self.close() def search_by_id(self): from search import SearchDialog self.search_dialog = SearchDialog() self.search_dialog.show() self.close() def filter_by_amount(self): from filter_dialog import FilterDialog self.filter_dialog = FilterDialog() self.filter_dialog.show() self.close() def update_salesman(self): from update_salesman import UpdateSalesmanDialog self.update_salesman_dialog = UpdateSalesmanDialog() self.update_salesman_dialog.show() self.close() def sort_by_amount(self): from sort import SortDialog self.sort_dialog = SortDialog() self.sort_dialog.show() self.close() def delete_record(self): from delete import DeleteDialog self.delete_dialog = DeleteDialog() self.delete_dialog.show() self.close() def logout(self): self.close() login = Login() login.show() def exit(self): self.close() if __name__ == "__main__": app = QApplication(sys.argv) login = Login() login.show() sys.exit(app.exec_())
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值