python tkinter与Mysql数据库交互实现账号登陆
作者:IronSimon 发布时间:2024-01-21 19:02:39
标签: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()
效果示例:
来源:https://blog.csdn.net/yeshankuangrenaaaaa/article/details/85704134


猜你喜欢
- 关于窗口函数的基础,请看文章SQL窗口函数取值窗口函数可以用于返回窗口内指定位置的数据行。常见的取值窗口函数如下:LAG函数可以返回窗口内当
- 目录plsql141. 安装注册使用 1.激活了会提示激活成功plsql developer14是由Allround Automa
- vue-element-admin导入组件封装模板和样式首先封装一个类似的组件,首先需要注意的是,类似功能,vue-element-admi
- 1,IE使用attachEvent/detachEvent方法来添加和删除事件 * ;w3c使用addEventListener/remov
- 对于各种语言的,函数与定义方法,大家可以区分下,利用以后的学习应用。由于篇幅有限,完整地址:http://demo.aspxhome.com
- 1.什么是搜索引擎?搜索引擎是“对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集、信息整理和用户查询三部分”。如图1是搜索引
- 在还源数据库时出现以下错误(详情参见下图):System.Data.SqlClient.SqlError: 在对 'C:\Progr
- 在ASP中使用FSO组件生成HTML静态页面,共有两个页面index.htm是首页.程序比较简单,主要是用了ASP里的文件操作
- 本文实例分析了Python字符串格式化输出方法。分享给大家供大家参考,具体如下:我们格式化构建字符串可以有3种方法:1 元组占位符m = &
- python中最基本的数据类型如下:Number(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)
- 本文实例讲述了PHP实现的线索二叉树及二叉树遍历方法。分享给大家供大家参考,具体如下:<?php require '
- #@project = facepalm#@file = main#@author = Maoliang Ran#@create_time
- 我们今天主要描述的是php和MySQL转义字符,我们大家都知道php和MySQL转义字符的实际应用比例还是占为多数的,如果你对这一技术,心存
- 按照ant design vue官方说明,使用日期选择器需要在入口文件(main.js)全局设置语言:// 默认语言为 en-US,如果你需
- 废话不多说,直接给大家贴代码了,具体代码如下所示,关键代码如下:<!DOCTYPE html> <html lang=&q
- 我们可以通过高级API更简洁地实现多层感知机。import torchfrom torch import nnfrom d2l import
- 本文主要介绍了OpenCV实现背景分离(证件照背景替换),具有一定的参考价值,感兴趣的可以了解一下实现原理图像背景分离是常见的图像处理方法之
- 在python中,元组不可变,只能查询不能修改,列表、字典和集合的基本操作,各不相同,下面就来比较一下它们的添加和删除操作吧。添加一、列表1
- 一年前网上还找不到关于 inline-block 属性的文章,为了方便大家更好的理解该属性,当时总结整理了篇《display:inline-
- 1.在百度地图申请密钥: http://lbsyun.baidu.com/ 将<script type="tex