import tkinter as tk
from tkinter import messagebox
import pymysql class SignIn(object):
def __init__(self, root):
self.root = root
self.name = None
self.password = None def the_Window(self, ): tk.Label(self.root, text=u"用户名(*):").grid(row=1, column=1, sticky='W')
tk.Label(self.root, text=u"密码(*):").grid(row=2, column=1, sticky='W')
self.name = tk.Entry(self.root)
self.name.grid(row=1, column=2, sticky='W')
self.password = tk.Entry(self.root, show="*")
self.password.grid(row=2, column=2, sticky='W')
tk.Button(self.root, text=u"登录", command=self.Login).grid(row=3, column=1, sticky='W')
tk.Button(self.root, text=u"注册", command=self.Register).grid(row=3, column=2, sticky='W')
tk.Label(self.root, text=u"(用户名只能出现字母,数字和下划线,不少于6位.)").grid(row=1, column=3, sticky='W')
tk.Label(self.root, text=u"(密码只能出现字母,数字和下划线,不少于12位.)").grid(row=2, column=3, sticky='W') def Login(self):
x = self.name.get()
y = self.password.get() if len(x) == 0 or len(y) == 0:
return
conn = pymysql.Connect('localhost','root','','test',3306) sql_select = "select * from test_db"
cur = conn.cursor()
try:
print(sql_select)
cur.execute(sql_select)
print(cur) rs = cur.fetchall()
print(rs) for r in rs:
if r[0] == x and r[1] == y:
messagebox.showinfo(title=u"登录成功", message=u"登录成功")
return
elif r[0] == x and r[1] != y:
messagebox.showerror(title=u"错误信息", message=u"密码错误")
messagebox.showerror(title=u"error", message=u"当前用户不存在") except Exception as e:
print(e) finally:
cur.close()
conn.close() def Register(self):
x = self.name.get()
y = self.password.get()
if len(x) == 0 or len(y) == 0:
return
self.name.delete(0)
self.password.delete(0)
# print x, y
conn = pymysql.Connect('localhost','root','','test',3306)
sql_select = "select username from test_db"
sql_insert = 'insert test_db(username,password) values("%s", "%s")' % (x, y)
cur = conn.cursor()
try:
cur.execute(sql_select)
rs = cur.fetchall()
flag = 0
for r in rs:
if r[0] == x:
flag = 1
messagebox.showinfo(title=u"用户名错误", message=u"当前用户名存在,请修改")
break
if flag == 0:
cur.execute(sql_insert)
print(u"插入成功") conn.commit() except Exception as e:
conn.rollback()
print(e)
finally:
cur.close()
conn.close() if __name__ == "__main__":
root = tk.Tk()
sign = SignIn(root)
sign.the_Window() root.mainloop()

最新文章

  1. Data Profiling Task
  2. IOS开发之控件篇UINavigationController第一章 - 介绍
  3. 总结-swing、JFrame、JScrollPane、JTabbedPane、JEditorPane
  4. atexit函数和两种特殊文件权限位
  5. C语言的几种取整方法
  6. [转载]C++异常机制的实现方式和开销分析
  7. 微软正式提供Visual Studio 2013正式版下载(附直接链接汇总)
  8. UGUI 滚动视图
  9. PHP搭建(windows64+apache2.4.7+mysql-5.6+php5.5)
  10. JAVA 编程规范
  11. Day2-列表、字符串、字典、集合
  12. spark-2.2.0安装和部署——Spark集群学习日记
  13. hdu1249 三角形分割平面---递推
  14. [SCOI 2010]传送带
  15. I - Beautiful People ZOJ - 2319 (二分法)
  16. 题解P3711:【仓鼠的数学题】
  17. Dada_WenJian
  18. hibernate配置二级缓存
  19. BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)
  20. 记录一则expdp任务异常处理案例

热门文章

  1. [CSP-S 2019]格雷码
  2. Debian 9 安装 libsodium
  3. php保存canvas导出的base64图片
  4. vue Uncaught SyntaxError: Unexpected token < 报错
  5. mysql 自联结
  6. ICEM-结构化网格interface的做法
  7. 刷题记录:[FBCTF2019]Products Manager
  8. 【大数据应用期末总评】Hadoop综合大作业
  9. 第06组 Alpha冲刺(5/6)
  10. 电商ERP系统——商品SKU与库存设计