python tkinter與Mysql數(shù)據(jù)庫交互實現(xiàn)賬號登陸
更新時間:2022年01月11日 09:15:23 作者:IronSimon
本文主要介紹了python tkinter與Mysql數(shù)據(jù)庫交互實現(xiàn)賬號登陸,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本例已經(jīng)實現(xiàn)的數(shù)據(jù)庫password,數(shù)據(jù)庫的表以及表結(jié)構(gòu)如下:
表中已經(jīng)插入的信息:
實現(xiàn)思路無非是用戶完成賬戶密碼輸入并點擊登錄按鈕后,程序先進(jìn)行數(shù)據(jù)庫連接,然后根據(jù)用戶提供的參數(shù),
發(fā)出相應(yīng)的查詢語句,根據(jù)返回的查詢結(jié)果給出相應(yīng)的響應(yīng)。
代碼實現(xiàn)
# -*- coding: utf-8 -*- """ Created on Tue Nov 6 14:29:54 2018 Description:實現(xiàn)tkinter的密碼驗證 1.與數(shù)據(jù)庫驗證 Version: @author: HJY """ import tkinter as tk from tkinter import messagebox import sys import pymysql class loginf(): def __init__(self,master): self.master = master self.face = tk.Frame(self.master,) self.face.pack() tk.Label(self.face,text='賬戶').pack() self.t_account = tk.Entry(self.face,) self.t_account.pack() tk.Label(self.face,text='密碼').pack() self.t_password = tk.Entry(self.face,) self.t_password.pack() btn_login = tk.Button(self.face,text='login',command=self.login) btn_login.pack() def login(self,): account = self.t_account.get() password = self.t_password.get() #判空操作:略 print(account,password) #數(shù)據(jù)庫處理 connection = pymysql.connect(host='localhost',user='root',port=3306) try: with connection.cursor() as cursor: command1 = "use password;" command2 = "select password from passbook where account = (%s);" cursor.execute(command1) result = cursor.execute(command2,(account)) connection.close() except: sys.exit() else: if result == 0: print('no this account!') tk.messagebox.showerror('Info',"Account Not Exist!") else: print('查找結(jié)果:',result) if cursor.fetchone()[0] == password: print('Login successfully!') tk.messagebox.showinfo('Info',"Login successfully!") #銷毀登陸界面,生成登陸后界面 self.face.destroy() homef(self.master) else: print('password input error') tk.messagebox.showerror('Info',"Password Error!") class homef(): def __init__(self,master): self.master = master self.face = tk.Frame(self.master,) self.face.pack() btn_showinfo = tk.Button(self.face,text='info',command=self.showinfo) btn_showinfo.pack() def showinfo(self,): pass if __name__ == '__main__': root = tk.Tk() root.title('Login with password') root.geometry('200x200') loginf(root) root.mainloop()
效果示例:
相關(guān)文章
keras讀取h5文件load_weights、load代碼操作
這篇文章主要介紹了keras讀取h5文件load_weights、load代碼操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06