python tkinter与Mysql数据库交互实现账号登陆
更新时间:2022年01月11日 09:15:23 作者:IronSimon
本文主要介绍了python tkinter与Mysql数据库交互实现账号登陆,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本例已经实现的数据库password,数据库的表以及表结构如下:
表中已经插入的信息:
实现思路无非是用户完成账户密码输入并点击登录按钮后,程序先进行数据库连接,然后根据用户提供的参数,
发出相应的查询语句,根据返回的查询结果给出相应的响应。
代码实现
# -*- coding: utf-8 -*- """ Created on Tue Nov 6 14:29:54 2018 Description:实现tkinter的密码验证 1.与数据库验证 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) #数据库处理 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('查找结果:',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()
效果示例:
相关文章
Python多线程Threading、子线程与守护线程实例详解
这篇文章主要介绍了Python多线程Threading、子线程与守护线程,结合实例形式详细分析了Python多线程Threading、子线程与守护线程相关概念、原理、用法与操作注意事项,需要的朋友可以参考下2020-03-03深入理解Python中的 __new__ 和 __init__及区别介绍
这篇文章主要介绍了深入理解Python中的 __new__ 和 __init__及区别介绍,这两个方法的主要区别在于:__new__ 负责对象的创建而 __init__ 负责对象的初始化。具体内容详情大家跟随小编一起看看吧2018-09-09
最新评论