def connect(self, uid, seuid): mySql = sql.getMySql().connect() cur = mySql.cursor() cur.execute("select uid,port from user where uid='%s'" % (seuid)) result = cur.fetchone() cur.close() mySql.close() self.seport = result[1] self.myuid = seuid #th=threading.Thread(target=self.__recv_thread,args=(uid,seuid,)) #th.start() th = threading.Thread(target=self.__show_thread) th.start() vserver = Video_Server((self.seport + 1), 4) aserver = Audio_Server((self.seport + 2), 4) vserver.start() aserver.start() mySql = sql.getMySql().connect() cur = mySql.cursor() cur.execute("select uid,port from user where uid='%s'" % (uid)) result = cur.fetchone() cur.close() mySql.close() self.toport = result[1] print(self.seport, self.toport)
def __open(self): user = self.lineEdit.text() mySql = sql.getMySql().connect() cur = mySql.cursor() try: cur.execute("select uid,port from user where uid='%s'" % (user)) result = cur.fetchone() cur.execute( "select uid1,uid2 from friend where uid1='%s' and uid2='%s'" % (user, self.seuid)) try: tmp = cur.fetchone()[1] except: cur.execute( "select uid1,uid2 from friend where uid1='%s' and uid2='%s'" % (self.seuid, user)) try: tmp = cur.fetchone()[1] except: cur.execute("insert into friend values('%s','%s')" % (result[0], self.seuid)) mySql.commit() dialog = QtWidgets.QDialog() ui = chatW.Ui_chatW() name = self.seuid + ' to ' + user ui.setupUi(dialog, name, queue.Queue(30)) ui.connect(user, self.seuid) dialog.show() dialog.exec_() except: QtWidgets.QMessageBox.information(None, "提示:", "用户不存在;") cur.close() mySql.close()
def __login(self): try: user = self.line_user.text() passwd = self.line_passwd.text() mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() try: cur.execute("select uid,upasswd from user where uid='%s'" % (user)) result = cur.fetchone() if passwd == result[1]: dialog = QtWidgets.QDialog() ui = listW.Ui_listW() ui.setupUi(dialog) ui.init(user) dialog.show() dialog.exec_() fw = open("c:/Work/python/Ychat/logs/login.log", 'a+') fw.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+\ " "+user+" login\n") else: QtWidgets.QMessageBox.information( None, "提示:", "操作失败,请检查密码输入是否正确;") mySql.commit() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,请检查账户输入是否正确;") cur.close() mySql.close() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败;")
def init(self, uid): th = threading.Thread(target=self.__recv_thread, args=(uid, )) th.start() self.friends = [] self.curuser = uid #try: mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() #try: cur.execute( "select uid1,uid2 from friend where uid1='%s' or uid2='%s'" % (uid, uid)) result = cur.fetchall() for line in result: if line[0] == uid: self.friends.append(line[1]) if line[1] == uid: self.friends.append(line[0]) #print(friends) slm = QtCore.QStringListModel() slm.setStringList(self.friends) #print(slm) self.listView.setModel(slm) mySql.commit() #except: # pass cur.close() mySql.close()
def __recv_thread(self, uid, seuid): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) mySql = sql.getMySql().connect() cur = mySql.cursor() cur.execute("select uid,port from user where uid='%s'" % (seuid)) result = cur.fetchone() cur.close() mySql.close() #self.seport=result[1] s.bind(('', result[1])) while 1: data, addr = s.recvfrom(1024) self.recv_q.put(data.decode())
def __onCommit4(self): try: Hao = self.ChongZhi_Hao.toPlainText() price = int(self.ChongZhi_JinE.toPlainText()) mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() try: cur.execute( "update account set balance=balance+%d WHERE account_number='%s';" % (price, Hao)) QtWidgets.QMessageBox.about(None, "提示:", "充值成功") except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败;") cur.close() mySql.commit() mySql.close() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,请检查文本输入是否正确;")
def __onCommit1(self): try: Hao = self.ChuangJian_Hao.toPlainText() price = int(self.ChuangJian_JinE.toPlainText()) mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() try: cur.execute("insert into account(account_number,balance,Create_time) values('%s','%d','%s')"\ %(Hao, price, datetime.datetime.now())) QtWidgets.QMessageBox.about(None, "提示:", "创建成功") except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,该账户已存在;") cur.close() mySql.commit() mySql.close() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,请检查文本输入是否正确;")
def __onCommit3(self): try: Hao = self.ChaXun_Hao.toPlainText() mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() try: cur.execute( "SELECT balance FROM account WHERE account_number='%s'" % (Hao)) result = cur.fetchone() QtWidgets.QMessageBox.about(None, "查询成功", \ "你的账户号是:'%s',余额:'%d'"% (Hao,result[0])) except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败;") cur.close() mySql.commit() mySql.close() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,请检查文本输入是否正确;")
def __onCommit(self): try: price = int(self.DaiKuan_Hao.toPlainText()) Hao = self.DaiKuan_JinE.toPlainText() mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() try: cur.execute( "insert into loan(loan_number,branch_number,amount,PayOverDate) \ values ('%s','Cbank',%d,'0000-00-00 00:00:00')" % (Hao, price)) QtWidgets.QMessageBox.about(None, "提示:", "贷款成功") #消息盒子必须写出这三个,其他两个可选 except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败;") cur.close() mySql.commit() mySql.close() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,请检查文本输入是否正确;")
def __onCommit(self): try: Hao = self.HuanKuan_Hao.toPlainText() Dai = self.HuanKuan_Dai.toPlainText() price = int(self.HuanKuan_JinE.toPlainText()) mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() try: cur.callproc('HuanQian_02', (Hao, Dai, price, 0, 0)) result = cur.fetchone() QtWidgets.QMessageBox.about( None, "提示:", "你一共还款%s元,还剩%s元未还清" % (result[0], result[1])) mySql.commit() except: QtWidgets.QMessageBox.information(None, "提示:", "还款失败") mySql.rollback() cur.close() mySql.close() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,请检查文本输入是否正确;")
def __sign(self): try: user = self.line_user.text() passwd = self.line_passwd.text() mySql = sql.getMySql().connect() if mySql: cur = mySql.cursor() cur.execute("select count(*) from user") cnt = cur.fetchone()[0] port = 1213 + cnt * 3 print(port, cnt) try: cur.execute("insert into user values('%s','%s',%d)" % (user, passwd, port)) mySql.commit() QtWidgets.QMessageBox.information(None, "提示:", "注册成功,请登录使用;") except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败,账号可能已经存在") cur.close() mySql.close() except: QtWidgets.QMessageBox.information(None, "提示:", "操作失败;")
#main.py import MainWindow #管理界面 import ChuangJian_menu #发布修改界面 import ChaXun_menu import ChongZhi_menu import ZhuanZhang_menu import DaiKuan_menu import HuanKuan_menu import pymysql import sql; #自己编写的sql类 import sys; from PyQt5 import QtCore, QtGui, QtWidgets; from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__': app = QApplication(sys.argv); mMainWindow = QMainWindow (); #实例一个QMainWindow ui=MainWindow.Ui_MainWindow(); #这里使用了comments里的Ui_mainWindow类 ui.setupUi(mMainWindow); #把实例的MainWindow传参进去,进行属性设置.. mySql = sql.getMySql().connect(); #实例自己编写的sql链接类 if(mySql): mySql.close(); else: QtWidgets.QMessageBox.information(None,"提示:","数据库连接失败,请确定服务器是否开启;"); mMainWindow.show(); sys.exit(app.exec_());
import loginW import pymysql import sql import sys from PyQt5 import QtCore, QtGui, QtWidgets; from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__': app = QApplication(sys.argv) mMainWindow = QMainWindow () ui=loginW.Ui_LoginW() ui.setupUi(mMainWindow) mySql = sql.getMySql().connect() if(mySql): mySql.close() else: QtWidgets.QMessageBox.information(None,"提示:","数据库连接失败,请确定服务器是否开启;"); mMainWindow.show(); sys.exit(app.exec_())