pyqt5_站点管理_db_windows
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QGroupBox,QGridLayout,QVBoxLayout,QPushButton,Q
千家信息网最后更新 2024年11月29日pyqt5_站点管理_db_windows
from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QGroupBox,QGridLayout,QVBoxLayout,QPushButton,QMessageBoximport pickle,pymssql,os,threading,time#定义数据库窗口class db_window(QWidget): def __init__(self): super().__init__() self.db_server = QLineEdit() self.db_port = QLineEdit() self.db_user = QLineEdit() self.db_password = QLineEdit() self.dir_db = {} #初始化数据库链接信息 self.db_test_flag = -1 self.dir_test_db = {} self.initUI() self.initDB() def initUI(self): #初始化页面 db_server_label = QLabel('数据库地址:') db_port_label = QLabel('端口:') db_user_label = QLabel('数据库账号:') db_password_label = QLabel('数据库密码:') self.db_password.setEchoMode(QLineEdit.Password) db_test_button = QPushButton('测试数据库链接') db_input_button = QPushButton('保存数据库链接') db_test_button.clicked.connect(self.test_db) db_input_button.clicked.connect(self.save_db) db_dbinfo_group = QGroupBox('MSSQL数据库') db_mssql_grid = QGridLayout() db_mssql_grid.addWidget(db_server_label,0,0) db_mssql_grid.addWidget(db_port_label,0,1) db_mssql_grid.addWidget(db_user_label,0,2) db_mssql_grid.addWidget(db_password_label,0,3) db_mssql_grid.addWidget(db_test_button,0,4) db_mssql_grid.addWidget(self.db_server,1,0) db_mssql_grid.addWidget(self.db_port,1,1) db_mssql_grid.addWidget(self.db_user,1,2) db_mssql_grid.addWidget(self.db_password,1,3) db_mssql_grid.addWidget(db_input_button,1,4) db_dbinfo_group.setLayout(db_mssql_grid) vbox = QVBoxLayout() vbox.addWidget(db_dbinfo_group) self.test_label = QLabel('') vbox.addWidget(self.test_label) vbox.setStretchFactor(db_dbinfo_group,3) vbox.setStretchFactor(self.test_label,7) self.setLayout(vbox) #初始化数据库链接信息 def initDB(self): try: if os.path.exists('.//DATA//DBinfo.pik'): with open('.//DATA//DBinfo.pik','rb') as db_file: self.dir_db = pickle.load(db_file) for line in self.dir_db.keys(): if line == 'server': self.db_server.setText(self.dir_db['server']) elif line == 'port': self.db_port.setText(str(self.dir_db['port'])) elif line == 'user': self.db_user.setText(self.dir_db['user']) elif line == 'password': self.db_password.setText(self.dir_db['password']) except Exception as error: return #数据库测试按钮 def test_db(self): self.dir_test_db.clear() if self.db_server.text().strip() != '': self.dir_test_db['server'] = self.db_server.text().strip() if self.db_port.text().strip() != '': try: port = int(self.db_port.text().strip()) except Exception as error: QMessageBox.warning(self,'端口错误','服务器端口是数字,您输入错误.') return self.dir_test_db['port'] = port if self.db_user.text().strip() != '': self.dir_test_db['user'] = self.db_user.text().strip() if self.db_password.text().strip() != '': self.dir_test_db['password'] = self.db_password.text().strip() try: conn = pymssql.connect(**self.dir_test_db) except Exception as error: QMessageBox.warning(self,'错误','无法链接数据库.') return self.test_label.setText('') QMessageBox.about(self,'链接成功','成功链接数据库.') self.db_test_flag = 1 conn.close() #数据库保存按钮 def save_db(self): if self.db_test_flag < 0: QMessageBox.warning(self,'提示','保存数据库信息之前,需要先测试数据库链接.\n数据库链接正常之后,才能保存信息.') return self.dir_db = self.dir_test_db.copy() with open('.//DATA//DBinfo.pik','wb') as db_file: pickle.dump(self.dir_db, db_file) self.db_test_flag = -1 QMessageBox.about(self,'提示','保存信息成功.')
数据
数据库
链接
信息
成功
端口
错误
测试
按钮
提示
地址
密码
数字
服务器
账号
页面
服务
输入
站点
站点管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑞幸咖啡服务器崩溃视频
网络安全初级工作
成为顶尖软件开发人需要什么
幻塔 服务器排队
蛋白抗体数据库
如何做到网络安全的英语作文
简道云软件开发
数据库原理及应用基础语言
服务器妈妈能做头发和美甲吗
有什么服务器可以找队友
无底海渊服务器
政务软件开发公司找哪家
软件开发系统维护有哪些大学
管理平台用什么软件开发
网络安全辅警工作日志
漫说网络安全法十五
网络安全的英语段落
怎样缩小数据库窗体
玛拉顿 六零数据库
数据库如何打开tcp协议
客户端连接数据库不成功
畅捷通t 服务器
什么是管理服务器
官方亚洲服务器
杭州有容互联网科技有限公司
人大网络安全调研
金山安全终端服务器破解版
广州星娱互联网科技有限公司
小说软件开发怎么样
别误会吉他谱软件开发