• 大小: 252KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: Python
  • 标签: python  

资源简介

Python用tkinter+pymysql实现简单的界面化的学生管理系统。

资源截图

代码片段和文件信息

from tkinter import *
import tkinter.font as tkFont
from tkinter.ttk import Treeview
import tkinter.messagebox
import pymysql

# 数据库连接
def sql_conn(sql):
      conn = pymysql.connect(host=“127.0.0.1“ user=“root“ password=“sise“ database=“python“ charset=“utf8“)
      cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
      cursor.execute(sql)
      ret = cursor.fetchall()
      cursor.close()
      conn.commit()
      conn.close()
      return ret
# 遍历全部数据
def all_data():
      sql = “select * from student“
      ret = sql_conn(sql)
      tab(ret)
# 遍历table数据
def tab(ret):
      for i in range(len(ret)):
            table.insert(‘‘ i values=(ret[i][‘name‘] ret[i][‘id‘] ret[i][‘grade‘]))
# 清空table数据
def delete_tab(table):
      items = table.get_children()
      [table.delete(item) for item in items]
# 查询功能
def look():
      if names.get() == ‘‘ and ids.get() == ‘‘ and grades.get() == ‘‘:
            all_data()
      else:
            sql = “select * from student where name=‘“ +names.get()+ “‘ or id=‘“ +ids.get()+ “‘ or grade=‘“ +grades.get()+ “‘;“
            ret = sql_conn(sql)
            delete_tab(table)
            tab(ret)
# 修改功能
def alter():
      if names.get() == ‘‘ and ids.get() == ‘‘ and grades.get() == ‘‘:
            tkinter.messagebox.showerror(‘警告‘ ‘请填写完整!‘)
      else:
            sql = “update student set grade=‘“ +grades.get()+ “‘ where name=‘“ +names.get()+ “‘ or id=‘“ +ids.get()+ “‘;“
            ret = sql_conn(sql)
            delete_tab(table)
            tkinter.messagebox.showinfo(‘‘ ‘修改成功!‘)
      all_data()
# 插入功能
def insert():
      if names.get() == ‘‘ and ids.get() == ‘‘ and grades.get() == ‘‘:
            tkinter.messagebox.showerror(‘警告‘ ‘请填写完整!‘)
      else:
            try:
                  sql = “insert into student values (‘“ +names.get()+ “‘‘“ +ids.get()+ “‘‘“ +grades.get()+ “‘);“
                  ret = sql_conn(sql)
                  tkinter.messagebox.showinfo(‘‘ ‘插入成功!‘)
            except:
                  tkinter.messagebox.showerror(‘警告‘ ‘插入字段已存在!‘)
      delete_tab(table)
      all_data()
# 删除功能,仅实现以姓名为索引删除数据
def delete():
      sql = “delete from student where name=‘“ + names.get() + “‘;“
      ret = sql_conn(sql)
      tkinter.messagebox.showinfo(‘‘ ‘删除成功!‘)
      delete_tab(table)
      all_data()

tk = Tk()
tk.title(“学生管理系统“)
tk.maxsize(700 500)    #设置窗口最大尺寸
Label(tk text=‘欢迎使用学生管理系统‘ font=tkFont.Font(size=18) width=60 height=2
      bg=‘#FFE7BA‘).grid(row=0 sticky=W+E)

columns = (‘姓名‘ ‘学号‘ ‘成绩‘)
table = Treeview(tk height=14 show=“headings“ columns=columns)
table.column(‘姓名‘ width=150 anchor=‘center‘)
table.column(‘学号‘ width=150 anchor=‘center‘)
table.column(‘成绩‘ width=150 anchor=‘center‘)
table.heading(‘姓名‘ text=“姓名“)
table.heading(‘学号‘ text=“学号“)
table.heading(‘成绩‘ text=“成绩“)
all_data()
table.grid(row=1 sticky=W+E)

frame = frame()
frame.grid(row=2 pady=20)
names 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4012  2019-03-14 20:15  python学生管理系统\index.py

     文件     257247  2019-03-14 20:21  python学生管理系统\python学生管理系统(界面版).docx

     文件        967  2019-03-14 20:23  python学生管理系统\student.sql

     目录          0  2019-03-14 20:24  python学生管理系统

----------- ---------  ---------- -----  ----

               262226                    4


评论

共有 条评论