資源簡介
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
- 上一篇:EmailBoomFinal.py
- 下一篇:Python 八數碼問題,可以直接運行
評論
共有 條評論