进行操作的表
增加界面
import tkinter as tk import pymysql def frame(): global root root = tk.Tk() root.title('录入窗口') v1 = tk.StringVar() v2 = tk.StringVar() v3 = tk.StringVar() # 姓名标签,位置在第0行第0列 tk.Label(root, text='姓名:').grid(row=0, column=0) # 电话标签,位置在第1行第0列 tk.Label(root, text='电话:').grid(row=1, column=0) # 学号标签,位置在第3行第0列 tk.Label(root, text='学号:').grid(row=2, column=0) # 姓名输入框 global input1 input1 = tk.Entry(root, textvariable=v1) input1.grid(row=0, column=1, padx=10, pady=5) # 电话输入框 global input2 input2 = tk.Entry(root, textvariable=v2) input2.grid(row=1, column=1, padx=10, pady=5) #学号输入框 global input3 input3 = tk.Entry(root, textvariable=v3) input3.grid(row=2, column=1, padx=10, pady=5) # 登录按钮 tk.Button(root, text='录入', width=10, command=auto_insert1).grid(row=3, column=0, sticky=tk.W, padx=10, pady=5) # 退出按钮 tk.Button(root, text='取消', width=10, command=exit_login).grid(row=3, column=1, sticky=tk.E, padx=10, pady=5) root.mainloop() def auto_insert1(): db = pymysql.connect(host="localhost", user="root", password="123456", db="test", port=3306) tcursor = db.cursor() entry1 = input1.get() entry2 = input2.get() entry3 = input3.get() sql = 'insert into client_copy values(%s,%s,%s)' param =(entry1,entry2,entry3) tcursor.execute(sql,param) print("数据插入成功\n") db.commit() def exit_login(): root.destroy() pass if __name__ == '__main__': frame()
删除界面
import tkinter as tk import pymysql def frame(): global root root = tk.Tk() root.title('删除窗口') v1 = tk.StringVar() # 姓名标签,位置在第0行第0列 tk.Label(root, text='姓名:').grid(row=0, column=0) # 姓名输入框 global input1 input1 = tk.Entry(root, textvariable=v1) input1.grid(row=0, column=1, padx=10, pady=5) # 登录按钮 tk.Button(root, text='删除', width=10, command=auto_delete).grid(row=3, column=0, sticky=tk.W, padx=10, pady=5) # 退出按钮 tk.Button(root, text='取消', width=10, command=exit_login).grid(row=3, column=1, sticky=tk.E, padx=10, pady=5) root.mainloop() def auto_delete(): db = pymysql.connect(host="localhost", user="root", password="123456", db="test", port=3306) tcursor = db.cursor() entry1 = input1.get() sql = 'delete from client_copy where client_Name=%s' param =(entry1) tcursor.execute(sql,param) print("数据删除成功\n") db.commit() def exit_login(): root.destroy() pass if __name__ == '__main__': frame()
修改界面
import tkinter as tk import pymysql def frame(): global root root = tk.Tk() root.title('修改窗口') v1 = tk.StringVar() v2 = tk.StringVar() # 姓名标签,位置在第0行第0列 tk.Label(root, text='新号码:').grid(row=0, column=0) # 电话标签,位置在第1行第0列 tk.Label(root, text='学号为:').grid(row=1, column=0) # 姓名输入框 global input1 input1 = tk.Entry(root, textvariable=v1) input1.grid(row=0, column=1, padx=10, pady=5) # 电话输入框 global input2 input2 = tk.Entry(root, textvariable=v2) input2.grid(row=1, column=1, padx=10, pady=5) # 登录按钮 tk.Button(root, text='修改', width=10, command=auto_update).grid(row=3, column=0, sticky=tk.W, padx=10, pady=5) # 退出按钮 tk.Button(root, text='取消', width=10, command=exit_login).grid(row=3, column=1, sticky=tk.E, padx=10, pady=5) root.mainloop() def auto_update(): db = pymysql.connect(host="localhost", user="root", password="123456", db="test", port=3306) tcursor = db.cursor() entry1 = input1.get() entry2 = input2.get() sql = 'update client_copy set telephone=%s where studentNo=%s' param = (entry1, entry2) tcursor.execute(sql, param) print("数据修改成功\n") db.commit() def exit_login(): root.destroy() pass if __name__ == '__main__': frame()
查找界面
import tkinter as tk import pymysql # 导入消息对话框子模块 import tkinter.messagebox global root,name,telephone,studentNo global label #import urllib #创建主窗口 #查询按钮响应函数 def select(label,name,telephone,studentNo): sname = label.get() print('input: ',sname) #查询刚才插入的数据 #由于刚才已经关闭了数据库连接,需要重新创建Connection对象和Cursor对象 db= pymysql.connect(host="localhost", user="root", password="123456", db="test", port=3306) tcursor = db.cursor() #c = conn.execute('''select * from footballers''') #c = conn.execute("select * from footballers where name like?",(sname,)) print("select * from client_copy where client_Name like '%s"+sname+"%s'") sql = 'select * from client_copy where client_Name like %s' tcursor.execute(sql,sname) #print(c) #<sqlite3.Cursor object at 0x00000000007E25E0> list_re = tcursor.fetchall() print('result: ', list_re) #[('艾克森', '15', 'ChOxM1xC0BiAe2D7AAAN-qiRteQ443.png')] if len(list_re) <= 0: tkinter.messagebox.showinfo('提示',sname+'客户不存在,请输入其他客户姓名!') else: print('result_name: ', list_re[0][0]) name.set(list_re[0][0]) # 姓 名 telephone.set(list_re[0][1]) # 俱乐部 studentNo.set(list_re[0][2]) # 国籍 #数据成功提取出来了 #name text, club text, nation text, height text, position text, age text, weight text, num text, birthday text, habit text db.close() #定义一个返回按钮调用的返回函数:callback def exit_program(): quit() def main(): root = tk.Tk() root.title('客户姓名') # 设置窗口大小 root.minsize(500, 200) # 定义变量 name = tk.StringVar() name.set('') telephone = tk.StringVar() telephone.set('') studentNo = tk.StringVar() studentNo.set('') # name text, club text, nation text, height text, position text, age text, weight text, num text, birthday text, habit text input_name = tk.Label(root, text = '请输入客户姓名:').place(x = 30, y = 30) label = tk.StringVar() entry = tk.Entry(root,bg='#ffffff',width=20,textvariable=label).place(x=130,y=30,anchor='nw') #按钮 select_button = tk.Button(root,bg='white',text='查询',width=10,height=1,command=lambda :select(label,name,telephone,studentNo)).place(x=280,y=26,anchor='nw') exit_button = tk.Button(root,bg='white',text='退出',width=10,height=1,command=lambda :exit_program()).place(x=380,y=26,anchor='nw') #command是Button中的option项,可以指定点击button时调用的callback函数 #name text, club text, nation text, height text, position text, age text, weight text, num text, birthday text, habit text le_client_Name = tk.Label(root, text = '姓 名:').place(x = 40, y = 80) le_student = tk.Label(root, text = '电 话:').place(x = 40, y = 110) le_studentNo = tk.Label(root, text = '学 号:').place(x = 40, y = 140) le_client_Name = tk.Label(root, textvariable=name).place(x=100, y=80) # 姓 名 le_telephone = tk.Label(root, textvariable=telephone).place(x=100, y=110) # 电话 le_studentNo = tk.Label(root, textvariable=studentNo).place(x=100, y=140) # 学号 #显示图片 #pilImage = Image.open("imgs/1574777943.3190248.png") #tkImage = ImageTk.PhotoImage(image=pilImage) #label_nation = Label(root, image=tkImage).place(x=90, y=130, anchor='nw') root.mainloop() if __name__ == '__main__': main()