pyqt5_站点管理_db_windows
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QGroupBox,QGridLayout,QVBoxLayout,QPushButton,Q
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
狼人网络安全绘画
北京mt4软件开发
奇安信北京网络安全大会
物联网管理服务器
计算机9网络技术
国家网络安全专家男孩
暗黑2无法在服务器上找到该角色
飞控科技软件开发
要做软件开发买什么笔记本好
二级结构预测用到的数据库
虹口区通用软件开发服务零售价格
hurtworld服务器
洛阳软件开发国企
军校学员网络安全分析
网络安全和金融标准化宣传
数据库表的字段最多
jdbc获取数据库所有表名
数据库包含哪三类文件
数据库 6nf
建数据库时时间
小皮网络安全监控
部门网络安全工作汇报材料
数据库中怎么显示字段
网络安全职业规划2000
2020华三杯网络技术大赛
我的世界伟大航路服务器所有礼包
38度9网络技术有限公司
购买一个服务器
国家网络安全四十七条
faceit如何设置匹配服务器