成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Python中tkinter+MySQL實現增刪改查

瀏覽:11日期:2022-07-27 17:57:36
一、設置主窗口

# -*- coding: utf-8 -*-import tkinter from tkinter import ttkimport pymysql# 導入消息對話框子模塊import tkinter.messagebox# 創建主窗口root = tkinter.Tk()root.title(’告警查詢’)# 設置窗口大小root.minsize(500,500) tabControl = ttk.Notebook(root) tab1 = ttk.Frame(tabControl) # Create a tab tabControl.add(tab1, text=’鐵塔訂單查詢’) # Add the tab tab2 = ttk.Frame(tabControl) # Add a second tabtabControl.add(tab2, text=’告警詳細查詢’) # Make second tab visible tab3 = ttk.Frame(tabControl) # Add a third tabtabControl.add(tab3, text=’配置匯總表’) # Make second tab visible tabControl.pack(expand=1, fill='both') 二、定義函數1.定義增刪改查函數

’’’main3響應函數’’’def select3(root, label,tree): sname = label.get() print(’input: ’,sname) # 1.由于剛才已經關閉了數據庫連接,需要重新創建Connection對象和Cursor對象 con = pymysql.connect(host=’192.168.0.46’, user=’root’, password=’root’, database=’test’, charset=’utf8’, use_unicode=True) cursor=con.cursor() print('select * from 配置表匯總 where `站點名稱(局向)` like ’'+sname+'’') c = cursor.execute('select * from 配置表匯總 where `站點名稱(局向)` like ’'+sname+'’') # 2.查詢結果保存到list_re list_re=cursor.fetchall() print(’result: ’, list_re) if len(list_re) <= 0: tkinter.messagebox.showinfo(’提示’,sname+’告警信息不存才!’) else: print(’result_name: ’, list_re[0][0]) #數據成功提取出來了 # 3.向tree寫入數據 for i in range(len(list_re)): tree.insert(’’, i, text=i ,values=(list_re[i][0], list_re[i][2],list_re[i][4], list_re[i][14], list_re[i][5], list_re[i][9],list_re[i][11], list_re[i][12], list_re[i][13]))tree.grid(column=0,row=1,sticky=’NSEW’) con.close()def insert(root, label1,label2,label3,label4,label5,label6,label7,label8,label9): net_name = label1.get() area_name = label2.get() base_name = label3.get() belong_name = label4.get() base_local = label5.get() base_level = label6.get() base_num = label7.get() rural = label8.get() scene = label9.get() print(’input: ’,net_name) # 由于剛才已經關閉了數據庫連接,需要重新創建Connection對象和Cursor對象 con = pymysql.connect(host=’192.168.0.46’, user=’root’, password=’root’, database=’test’, charset=’utf8’, use_unicode=True) cursor=con.cursor() # SQL 插入語句 里面的數據類型要對應 sql = 'INSERT INTO 配置表匯總(`網絡類型`, `行政區`,`基站名稱`,`歸屬區域`,`基站所處位置具體地址`, `基站分級`,`站點名稱(局向)`,`是否農村基站`,`二級場景類型`) VALUES (’%s’,’%s’,’%s’,’%s’,’%s’,’%s’,’%s’,’%s’,’%s’)' % (net_name,area_name,base_name,belong_name,base_local,base_level,base_num,rural,scene) print(sql)try: # 執行sql語句 cursor.execute(sql) # 執行sql語句 con.commit() tkinter.messagebox.showinfo(’提示’,net_name+’配置匯總表插入成功!’) except: # 發生錯誤時回滾 con.rollback()con.close() def delete(root,label7): base_num = label7.get() print(’input: ’,base_num) # 由于剛才已經關閉了數據庫連接,需要重新創建Connection對象和Cursor對象 con = pymysql.connect(host=’192.168.0.46’, user=’root’, password=’root’, database=’test’, charset=’utf8’, use_unicode=True) cursor=con.cursor() # SQL 插入語句 里面的數據類型要對應 sql = 'DELETE FROM 配置表匯總 WHERE `站點名稱(局向)`=’%s’' %(base_num) print(sql)try: # 執行sql語句 cursor.execute(sql) # 執行sql語句 con.commit() tkinter.messagebox.showinfo(’提示’,base_num+’配置匯總表刪除成功!’) except: # 發生錯誤時回滾 con.rollback()con.close() 2.定義主調用函數

def main3(): monty3 = ttk.LabelFrame(tab3, text=’控件示范區3’) monty3.grid(column=0, row=0,sticky=’W’, padx=8, pady=4) monty3_1 = ttk.LabelFrame(tab3, text=’控件示范區2’) monty3_1.grid(column=0, row=1,sticky=’W’, padx=4, pady=4)# 查詢結果 tree=ttk.Treeview(monty3_1)#表格 tree['columns']=('網絡類型','行政區','基站名稱','歸屬區域','基站所處位置具體地址','基站分級','站點名稱(局向)','是否農村基站','二級場景類型') tree.column('網絡類型',width=50) #表示列,不顯示 tree.column('行政區',width=50) tree.column('基站名稱',width=50) tree.column('歸屬區域',width=50) #表示列,不顯示 tree.column('基站所處位置具體地址',width=50) tree.column('基站分級',width=50) tree.column('站點名稱(局向)',width=50) #表示列,不顯示 tree.column('是否農村基站',width=50) tree.column('二級場景類型',width=50) tree.heading('網絡類型',text='網絡類型') #顯示表頭 tree.heading('行政區',text='行政區') tree.heading('基站名稱',text='基站名稱') tree.heading('歸屬區域',text='歸屬區域') #顯示表頭 tree.heading('基站所處位置具體地址',text='基站所處位置具體地址') tree.heading('基站分級',text='基站分級') tree.heading('站點名稱(局向)',text='站點名稱(局向)') #顯示表頭 tree.heading('是否農村基站',text='是否農村基站') tree.heading('二級場景類型',text='二級場景類型')tree.grid(column=0,row=1,sticky=’NSEW’)input_name1 = ttk.Label(monty3, text = ’網絡類型:’).grid(column=0, row=0, sticky=’W’,pady=5) label1 = tkinter.StringVar() entry1 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label1).grid(column=1, row=0, sticky=’W’)input_name2 = ttk.Label(monty3, text = ’行政區:’).grid(column=3, row=0, sticky=’W’) label2 = tkinter.StringVar() entry2 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label2).grid(column=4, row=0, sticky=’W’) input_name3 = ttk.Label(monty3, text = ’基站名稱:’).grid(column=0, row=1, sticky=’W’,pady=5) label3 = tkinter.StringVar() entry3 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label3).grid(column=1, row=1, sticky=’W’)input_name4 = ttk.Label(monty3, text = ’歸屬區域:’).grid(column=3, row=1, sticky=’W’) label4 = tkinter.StringVar() entry4 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label4).grid(column=4, row=1, sticky=’W’) input_name5 = ttk.Label(monty3, text = ’基站所處位置具體地址:’).grid(column=0, row=2, sticky=’W’,pady=5) label5 = tkinter.StringVar() entry5 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label5).grid(column=1, row=2, sticky=’W’) input_name6 = ttk.Label(monty3, text = ’基站分級:’).grid(column=0, row=3, sticky=’W’,pady=5) label6 = tkinter.StringVar() entry6 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label6).grid(column=1, row=3, sticky=’W’) input_name7 = ttk.Label(monty3, text = ’站點名稱(局向):’).grid(column=0, row=4, sticky=’W’,pady=5) label7 = tkinter.StringVar() entry7 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label7).grid(column=1, row=4, sticky=’W’) input_name8 = ttk.Label(monty3, text = ’是否農村基站:’).grid(column=0, row=5, sticky=’W’,pady=5) label8 = tkinter.StringVar() entry8 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label8).grid(column=1, row=5, sticky=’W’) input_name9 = ttk.Label(monty3, text = ’二級場景類型:’).grid(column=0, row=6, sticky=’W’,pady=5) label9 = tkinter.StringVar() entry9 = tkinter.Entry(monty3,bg=’#ffffff’,width=20,textvariable=label9).grid(column=1, row=6, sticky=’W’) select_button = tkinter.Button(monty3,bg=’white’,text=’查詢’,width=10,height=1, command=lambda :select3(monty3, label7,tree)).grid(column=0, row=7, sticky=’W’,pady=5)insert_button = tkinter.Button(monty3,bg=’white’,text=’插入’,width=10,height=1, command=lambda :insert(monty3,label1,label2,label3,label4,label5,label6, label7,label8,label9)).grid(column=1, row=7, sticky=’W’,padx=5,pady=5) delete_button = tkinter.Button(monty3,bg=’white’,text=’刪除’,width=10,height=1, command=lambda :delete(monty3, label7)).grid(column=2, row=7, sticky=’W’,pady=5)

效果如下

Python中tkinter+MySQL實現增刪改查

到此這篇關于Python中tkinter+MySQL實現增刪改查的文章就介紹到這了,更多相關tkinter MySQL增刪改查內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
久久久xxx| 亚洲精品一区二区三区蜜桃下载| 日韩一级二级三级精品视频| 日日夜夜精品视频天天综合网| 99热这里只有精品8| 中文字幕在线不卡一区二区三区| 99久久777色| 91精品国产综合久久小美女| 久久精品999| 欧美色男人天堂| 国内精品写真在线观看| 久久国产日本精品| 一区二区三区av电影| 一区二区91| 亚洲午夜电影在线| 免费在线成人av| 亚洲国产视频一区| 麻豆九一精品爱看视频在线观看免费| 亚洲乱码一区二区三区在线观看| 1024成人| 一区二区三区欧美亚洲| 亚洲一区二区三区高清不卡| 一区二区三区在线视频免费| 亚洲神马久久| 一区二区三区在线播| 国产伦精品一区二区三区视频孕妇| 亚洲精品老司机| 9国产精品视频| 伊人色综合久久天天人手人婷| 宅男噜噜噜66国产日韩在线观看| 一区二区三区在线视频免费观看| 国产精品美女xx| 亚洲与欧洲av电影| 久久最新视频| 久久 天天综合| 在线播放一区二区三区| 国产高清在线精品| 欧美成人a视频| 欧美日韩中文| 亚洲一区二区在线观看视频| 色婷婷av一区| 国产一区二区免费在线| 精品免费视频.| 国产精品igao视频网网址不卡日韩| 亚洲欧美日韩在线播放| 亚洲精一区二区三区| 亚洲高清中文字幕| 91黄色免费网站| 国产乱妇无码大片在线观看| 精品国产麻豆免费人成网站| 欧美成人69| 综合在线观看色| 国产精品午夜av在线| 午夜私人影院久久久久| 欧美亚洲综合色| 国产不卡视频一区二区三区| 国产日韩欧美精品一区| 在线观看不卡| 日韩av一区二区三区四区| 欧美精品一二三区| 女生裸体视频一区二区三区| 亚洲麻豆国产自偷在线| 久久精品网址| 国产一区二三区| 久久精品网站免费观看| 日韩视频精品| 久久精品久久久精品美女| 日韩精品一区二区三区在线播放| 欧美视频一区| 午夜精品久久久久久久久久| 678五月天丁香亚洲综合网| av男人天堂一区| 一区二区三区在线免费播放 | 男人的j进女人的j一区| 在线综合亚洲欧美在线视频| 91年精品国产| 婷婷中文字幕综合| 日韩亚洲欧美在线观看| 伊人久久亚洲美女图片| 日av在线不卡| 久久蜜桃一区二区| 国产精品免费一区二区三区在线观看| 久久精品国产精品青草| 久久亚洲私人国产精品va媚药| 伊人久久亚洲影院| 久久精品国产精品青草| 欧美高清一级片在线观看| 久久久久久久久久久一区| 国产91丝袜在线18| 亚洲人成精品久久久久| 欧美视频三区在线播放| 91尤物视频在线观看| 亚洲国产成人精品视频| 欧美成人一区二区三区在线观看| 精品1区2区3区4区| 国产自产视频一区二区三区| 国产精品白丝在线| 欧美性生活一区| 欧美精品18| 看片的网站亚洲| 久久九九99视频| 久久资源在线| 91一区一区三区| 日韩成人午夜精品| 国产欧美精品日韩区二区麻豆天美| 久久久久高清| 欧美不卡在线| 国产在线看一区| 一区二区三区在线免费视频| 精品久久久久久久久久久久久久久久久 | 亚洲成av人片在www色猫咪| 欧美mv和日韩mv的网站| 免费看亚洲片| 欧美啪啪一区| 国产一区二区三区四| 综合亚洲深深色噜噜狠狠网站| 欧美美女一区二区在线观看| 亚洲啪啪91| 成人黄色电影在线| 亚洲福利国产精品| 中文字幕久久午夜不卡| 欧美精选在线播放| 亚洲一区二区免费看| 欧美在线3区| 国模少妇一区二区三区| 亚洲综合无码一区二区| 欧美一级二级三级蜜桃| 久久精品五月| 伊人色综合久久天天五月婷| 成人免费三级在线| 日韩精品五月天| 中文字幕一区二区三区在线观看 | 尤物av一区二区| 久久久久国产一区二区三区四区 | 日韩一级高清毛片| 色哟哟在线观看一区二区三区| 欧美高清不卡| 国内成+人亚洲+欧美+综合在线| 亚洲曰韩产成在线| 中文字幕二三区不卡| 91精品国模一区二区三区| 久久一区二区三区超碰国产精品| 一区二区视频在线观看| 91丨九色丨国产丨porny| 国产精品主播直播| 日本不卡视频在线观看| 一区二区三区四区视频精品免费 | 国产精品午夜在线| 精品国产123| 91麻豆精品91久久久久久清纯| 久久精品亚洲| aa级大片欧美三级| 欧美精品播放| 成人美女视频在线看| 国产乱人伦精品一区二区在线观看| 视频在线观看一区| 一区二区久久久久久| 椎名由奈av一区二区三区| 久久嫩草精品久久久久| 欧美一区二区视频免费观看| 欧美丝袜第三区| 欧美色图在线观看| 欧美性高清videossexo| 国产精品一区视频网站| 亚洲精品国产日韩| 亚洲成人中文| 亚洲高清免费| 日韩视频在线观看国产| 一区在线观看| 亚洲视频久久| 国语自产精品视频在线看8查询8| 91在线小视频| 91免费版在线看| 91啦中文在线观看| 91蜜桃视频在线| 暖暖成人免费视频| 欧美精品免费观看二区| 91一区一区三区| 91在线高清观看| 91玉足脚交白嫩脚丫在线播放| 成人国产亚洲欧美成人综合网| 成人免费高清在线| 成人激情文学综合网| 成人精品免费看| 国产成人自拍在线| 国产成人午夜电影网| 国产二区国产一区在线观看| 国模冰冰炮一区二区| 国产精品一二三| 东方欧美亚洲色图在线| 国产成人精品三级| 成人免费av资源| 92精品国产成人观看免费| 欧美1区3d| 亚洲国产一区二区三区高清| 亚洲精品中文字幕在线| 久久精品一区二区国产| 欧美艳星brazzers| 日韩一级免费一区| 国产亚洲污的网站|