数据库课设之用pymysql+mysql+tk制作一个十分简单的信息管理系统
这几天做了一个数据库的课设,由于已经学完了python,所以只需要学习简易一点的tk库做的界面,学习pymysql连接我的数据库,这些东西自学快的话一天以内可以学个大概,就可以开始做了,代码花了一天的时间,所以界面和功能偏简陋,功能只有增删查,查也没有搜索,后续时间多出来了我会慢慢完善的,话不多说,直接上代码,应该只要下载了对应的库再修改py.connect函数中的user,passwd,db参数连接好自己的数据库中对应的表就可以运行出来了。
import tkinter as tk
import pymysql as py
from tkinter import messagebox
# 设置登陆界面窗口信息
windows = tk.Tk()
windows.title('Student Information Management System')
windows.geometry('450x300')
# 登录界面
tk.Label(windows, text='欢迎来到信息管理系统', bg='red', font=('Arial', 20)).pack(fill='x')
tk.Label(windows, text='User name:', font=('Arial', 15)).place(x=60, y=100)
tk.Label(windows, text='Password:', font=('Arial', 15)).place(x=60, y=150)
var_user_name = tk.StringVar()
var_password = tk.StringVar()
tk.Entry(windows, textvariable=var_user_name).place(x=170, y=110)
tk.Entry(windows, textvariable=var_password).place(x=170, y=160)
# sql查询功能
def sql_research_result(sql):
db = py.connect(host=, user=, passwd=, db='student', charset='utf8')
cursor = db.cursor()
try:
cursor.execute(sql)
result = cursor.fetchall()
return result
except:
print('Error: unable to fetch databases')
db.close()
# sql插入功能
def sql_insert_result(sql):
db = py.connect(host=, user=, passwd=, db='student', charset='utf8')
cursor = db.cursor()
# print(sql)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
# sql删除功能
def sql_drop_result(sql):
db = py.connect(host=, user=, passwd=, db='student', charset='utf8')
cursor = db.cursor()
# print(sql)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
#登录按钮之后的操作函数
def user_sign_in(windows):
use_name = var_user_name.get()
use_password = var_password.get()
result1 = sql_research_result("select * from admin")
# print(use_password, result1[0][1])
if (use_name == str(result1[0][0]) and use_password == result1[0][1]):
tk.messagebox.showinfo(title='成功界面', message='登录成功')
windows.destroy()
main_windows()
else:
tk.messagebox.showinfo(title='失败界面', message='登录失败')
def user_sign_up():
windows_sign_up = tk.Toplevel(windows)
windows_sign_up.geometry('350x250')
windows_sign_up.title('Sign up window')
# label对象
tk.Label(windows_sign_up, text='Username:', font=('Arial', 10)).place(x=60, y=10)
tk.Label(windows_sign_up, text='Password:', font=('Arial', 10)).place(x=60, y=60)
tk.Label(windows_sign_up, text='password again:', font=('Arial', 10)).place(x=25, y=110)
# entry对象
sign_up_user_name = tk.Entry(windows_sign_up).place(x=130, y=10)
sign_up_password = tk.Entry(windows_sign_up).place(x=130, y=60)
sign_up_password_again = tk.Entry(windows_sign_up).place(x=130, y=110)
# 点击注册界面的注册之后的弹窗
def sign_up_ok():
if (sign_up_password.get() <