def OnButton_1(self, event): "修改两个数据库,一个是bank_user,一个是some_operation" conn = Mysql_All_is_Use() conn = conn.getConn() sql_select1 = "select username from bank_user where bool_id = 1;" sql_update1 = "update bank_user set money = money + %d where bool_id = 1;" sql_insert2 = "insert into some_operation(username, money) values('%s', %d);" cur = conn.cursor() try: # 输入的钱数 the_money = int(self.user_ctrl.GetValue()) st = sql_update1 % the_money cur.execute(st) cur.execute(sql_select1) rs = cur.fetchall() username = rs[0][0] # print(username) st = sql_insert2 % (username, the_money) cur.execute(st) conn.commit() except Exception as e: print e conn.rollback() finally: cur.close() conn.close() # 点击确定以后就及时关闭该窗口,防止多次点击 self.Destroy() self.input_accounts.Enable(True)
def OnCloseWindow(self, event): "如果进行关闭的时候,把bool_id重新修改为0,因为等于1是正在进行的操作" # self._accounts.Close(True) # self.__accounts.Close(True) # self._balance.Close(True) # self._details.Close(True) # self.___details.Close(True) # self.___details.Close(True) conn = Mysql_All_is_Use() conn = conn.getConn() sql_update = sql_update = "update bank_user set bool_id = 0 where bool_id != 0;" cursor = conn.cursor() try: cursor.execute(sql_update) conn.commit() except Exception as e: print e conn.rollback() finally: cursor.close() conn.close() self.Destroy() self.signin_Frame.Show(True)
def OnButton(self, event): "实现点击的时候删除账户的功能" conn = Mysql_All_is_Use() conn = conn.getConn() print(self.text1_ctrl.GetValue()) sql_delete = "delete from bank_user where username = '******';" % self.text1_ctrl.GetValue( ) sql_select = "select username from bank_user;" cur = conn.cursor() try: cur.execute(sql_select) self.rs1 = cur.fetchall() cur.execute(sql_delete) conn.commit() except Exception as e: print e finally: cur.execute(sql_select) rs2 = cur.fetchall() if len(self.rs1) == len(rs2) + 1: wx.MessageBox(u"删除成功", u"删除结果", style=wx.OK) else: wx.MessageBox(u"删除失败", u"删除结果", style=wx.OK) cur.close() conn.close()
def __init__(self, username, password): self.username = username self.password = password self.flag = False conn = Mysql_All_is_Use() conn = conn.getConn() cursor = conn.cursor() sql_insert = "insert into bank_user(username, password) values('%s', '%s');" % ( self.username, self.password) sql_select = "select username, password from bank_user;" try: cursor.execute(sql_select) rs = cursor.fetchall() for r in rs: if r[0] == self.username: wx.MessageBox(u"当前用户名存在,请重新输入", u"错误信息", style=wx.OK) self.flag = True if self.flag == False: # 上述操作没有问题则提交数据库 cursor.execute(sql_insert) conn.commit() except Exception as e: print e # 出错的话数据库回滚 conn.rollback() finally: cursor.close() conn.close()
def OnButton_1(self, event): sql_select1 = "select username, money from bank_user where bool_id = 1;" sql_update1 = "update bank_user set money = money %c %d where username = '******';" sql_insert2 = "insert into some_operation(username, money, receive_username) values('%s', %d, '%s');" conn = Mysql_All_is_Use() conn = conn.getConn() cur = conn.cursor() try: cur.execute(sql_select1) rs1 = cur.fetchall() # 返回的是一个元祖,而表示每一个数据的也是元组,所以用二维 username = rs1[0][0] true_money = int(rs1[0][1]) # 转账的钱数 the_money = int(self.user_ctrl.GetValue()) receive_username = self.receive_username.GetValue() print(username, the_money, receive_username) if (the_money > true_money): self.user_ctrl.SetValue(u"请重新输入金额") wx.MessageBox(u"转账金额大于现有钱数", u"错误信息", style=wx.OK) else: st = sql_insert2 % (username, -the_money, receive_username) cur.execute(st) st = sql_insert2 % (receive_username, the_money, username) cur.execute(st) st = sql_update1 % ('-', the_money, username) cur.execute(st) st = sql_update1 % ('+', the_money, receive_username) cur.execute(st) conn.commit() except Exception as e: print e conn.rollback() finally: cur.close() conn.close() # 点击确定以后就及时关闭该窗口,防止多次点击 self.Destroy() self.ouput_accounts.Enable(True)
def OnButton_3(self, event): "用户登录界面" st = self.GetTitle() username = self.user_ctrl.GetValue() password = self.password_ctrl.GetValue() if st == u"用户登录界面": users = User_Frame(self) rs = Enter_UseMysql(username, password, True) if rs.GetFlag() == False: # 登录不成功 return # 登录成功获取登录的用户名 # 如果登录成功,则把当前列的bool_id修改为1 conn = Mysql_All_is_Use() conn = conn.getConn() sql_update = sql_update = "update bank_user set bool_id = 1 where username = '******';" % ( username) cursor = conn.cursor() try: cursor.execute(sql_update) conn.commit() except Exception as e: print e conn.rollback() finally: cursor.close() conn.close() self.get_username = username users.Show(True) self.Show(False) else: admin = Admin_Frame(self) rs = Enter_UseMysql(username, password, False) if rs.GetFlag() == False: return admin.Show(True) self.Show(False)