关于#数据库#的问题,如何解决?(语言-python)

运用了Tkinter,做数据库任务,但是为什么不能建立一个可视化界面
我学的不好,求指导迷津
附上代码:

from tkinter import ttk
import pymssql
import tkinter as tk
import tkinter.messagebox
#奶茶的添加
def kabb():
    # 连接数据库
    connect = pymssql.connect(host = "127.0.0.1",database = "茶托邦重大店",charset="utf8")  # 建立连接
    # 创建光标
    cursor = connect.cursor()
    # 编写SQL语句
    sql4 = "INSERT INTO 奶茶 (奶茶名字, 售价,成本)VALUES('%s','%.2f','%.2f')" % (v7.get(), v8.get(),v9.get())
    # 执行SQL语句,并且输出完成提示信息,否则回滚
    try:
        cursor.execute(sql4)
        connect.commit()
        tkinter.messagebox.showinfo("提示", "数据添加成功")
    except:
        connect.rollback()
        tkinter.messagebox.showinfo("提示", "奶茶名字不存在")
    # 关闭数据库连接,防止泄露
    cursor.close()
    connect.close()
#删除操作
def dele():
    connect = pymssql.connect(host = "127.0.0.1",database = "茶托邦重大店",charset="utf8")
    cursor=connect.cursor()
    sql5 = "delete from 奶茶 where 奶茶名字='%s'" % (v10.get())
    try:
        cursor.execute(sql5)
        connect.commit()
        tkinter.messagebox.showinfo("提示","数据删除成功")
    except:
        connect.rollback()
        tkinter.messagebox.showinfo("提示", "要删除的奶茶不存在")
    cursor.close()
    connect.close()
#查询奶茶信息
def sele():
    connect1 = pymssql.connect(host = "127.0.0.1",database = "茶托邦重大店",charset="utf8")
    cursor = connect1.cursor()
    sql6 = "select*from 奶茶 WHERE 奶茶名字='%s'"%(v11.get())
    try:
        cursor.execute(sql6)
        results = cursor.fetchall()
        print(results)
    except:
        return
    cursor.close()
    connect1.close()

#添加奶茶界面
def Staff_habb():
    #构建全集变量,方便上面的函数调用
    global window_function
    global v7,v8,v9
    #生成窗口
    window_function=tk.Tk()
    #窗口标题
    window_function.title("茶托邦管理系统")
    #窗口大小
    window_function.geometry('400x300')
    #生成标签
    tk.Label(window_function, text="添加新奶茶", font=("黑体", 20)).grid(row=0,column=1,pady=10)
    tk.Label(window_function, text="请输入奶茶名字:").grid(row=1, column=0, padx=20, pady=20)
    tk.Label(window_function, text="请输入售价:").grid(row=2, column=0, padx=20, pady=20)
    tk.Label(window_function, text="请输入成本:").grid(row=3, column=0, padx=20, pady=20)
    # 定义变量记录输入信息
    v7 = tk.StringVar()
    v8 = tk.StringVar()
    v9 = tk.StringVar()
    #输入框
    entry1 = tk.Entry(window_function, show=None, textvariable=v7).grid(row=1, column=1)
    entry2 = tk.Entry(window_function, show=None, textvariable=v8).grid(row=2, column=1)
    entry3 = tk.Entry(window_function, show=None, textvariable=v9).grid(row=3, column=1)
    #生成按钮
    button = tk.Button(window_function, text="添加", command=kabb).place(relx=0.3,rely=0.9)
    button2 = tk.Button(window_function, text="返回", command=chaneg_MT).place(relx=0.5,rely=0.9)
    #显示窗口
    window_function.mainloop()

#删除奶茶界面
def Staff_dele():
    global window_function
    global v10
    window_function=tk.Tk()
    window_function.title("茶托邦管理系统")
    window_function.geometry('400x250')
    tk.Label(window_function, text="删除奶茶", font=("黑体", 20)).grid(row=0,column=1,pady=20)
    tk.Label(window_function,text="请输入奶茶名字:").grid(row = 1,column =0,padx=20)
    v10 =tk.StringVar()
    entry1=tk.Entry(window_function,show=None,textvariable=v10).grid(row = 1,column =1,pady=40)
    button = tk.Button(window_function, text="删除", command=dele,anchor = 's').place(relx=0.2,rely=0.7)
    button2 = tk.Button(window_function, text="返回", command=chaneg_MT).place(relx=0.4,rely=0.7)
    window_function.mainloop()

 #查找奶茶信息界面
def Staff_sele():
    global window_function
    global v11
    window_function=tk.Tk()
    window_function.title("茶托邦管理系统")
    window_function.geometry('600x200')
    tk.Label(window_function, text="查找奶茶信息", font=("黑体", 20)).grid(row=0,column=1,pady=20)
    tk.Label(window_function,text="请输入奶茶名字:").grid(row = 1,column =0,padx=20)
    v11 =tk.StringVar()
    entry1=tk.Entry(window_function,show=None,textvariable=v11).grid(row = 1,column =1,pady=20)
    button = tk.Button(window_function, text="查找", command=sele).place(relx=0.3,rely=0.8)
    button2 = tk.Button(window_function, text="返回", command=chaneg_MT).place(relx=0.5,rely=0.8)
    window_function.mainloop()
#添加奶茶界面跳转
def change_gabb():
    #销毁画布
    window.destroy()
    #生成新界面
    Staff_habb()

#删除奶茶界面跳转
def change_dele():
    window.destroy()
    Staff_dele()

#条件查询奶茶界面跳转
def change_sele():
    window.destroy()
    Staff_sele()

#奶茶界面跳转
def chaneg_MT():
    window_function.destroy()
    MTpage()
def chan_MT():
    from choicepage import choicepage
    window.destroy()
    choicepage()
#奶茶界面
def MTpage():
    global window
    window = tk.Tk()
    window.title("茶托邦管理系统")
    window.geometry('500x450')
    #生成画布,销毁后生成新的画布实现跳转
    page = tk.Frame(window)
    page.pack()
    tk.Label(window, text="欢迎使用茶托邦信息管理系统", font=("黑体", 20)).pack(pady=10)
    button1 = tk.Button(window, text="删除奶茶信息", command=change_dele).pack(pady=10)
    button2 = tk.Button(window, text="添加奶茶信息", command=change_gabb).pack(pady=10)
    button3 = tk.Button(window, text="查找奶茶信息", command=change_sele).pack(pady=10)
    button4 = tk.Button(window, text="退出", command=chan_MT).pack(pady=10)

    window.mainloop()

#主函数生成主界面
if __name__ == '__main__':
    MTpage()


另外这个代码就可以运行建立一个界面:

from tkinter import ttk
import pymssql
import tkinter as tk
import tkinter.messagebox
#订单的添加
def kadd():
    # 连接数据库
    connect = pymssql.connect(host = "127.0.0.1",database = "茶托邦重大店",charset="utf8")  # 建立连接
    # 创建光标
    cursor = connect.cursor()
    # 编写SQL语句
    sql1 = "INSERT INTO 订单 (订单号, 下单时间,奶茶名字,数量)VALUES('%d','%s','%s','%d')" % (v1.get(), v2.get(),v3.get(),v4.get())
    # 执行SQL语句,并且输出完成提示信息,否则回滚
    try:
        cursor.execute(sql1)
        connect.commit()
        tkinter.messagebox.showinfo("提示", "数据添加成功")
    except:
        connect.rollback()
        tkinter.messagebox.showinfo("提示", "订单编号不存在")
    # 关闭数据库连接,防止泄露
    cursor.close()
    connect.close()
#删除操作
def delete():
    connect = pymssql.connect(host = "127.0.0.1",database = "茶托邦重大店",charset="utf8")
    cursor=connect.cursor()
    sql2 = "delete from 订单 where 订单号='%d'" % (v5.get())
    try:
        cursor.execute(sql2)
        connect.commit()
        tkinter.messagebox.showinfo("提示","数据删除成功")
    except:
        connect.rollback()
        tkinter.messagebox.showinfo("提示", "所删除的订单不存在")
    cursor.close()
    connect.close()
#查询订单信息
def select():
    connect1 = pymssql.connect(host = "127.0.0.1",database = "茶托邦重大店",charset="utf8")
    cursor = connect1.cursor()
    sql3 = "select*from 订单 WHERE 下单时间='%s'"%(v6.get())
    try:
        cursor.execute(sql3)
        results = cursor.fetchall()
        print(results)
    except:
        return
    cursor.close()
    connect1.close()

#添加订单界面
def Staff_hadd():
    #构建全集变量,方便上面的函数调用
    global window_function
    global v1,v2,v3,v4
    #生成窗口
    window_function=tk.Tk()
    #窗口标题
    window_function.title("茶托邦管理系统")
    #窗口大小
    window_function.geometry('400x300')
    #生成标签
    tk.Label(window_function, text="添加新订单", font=("黑体", 20)).grid(row=0,column=1,pady=10)
    tk.Label(window_function, text="请输入订单号:").grid(row=1, column=0, padx=20, pady=20)
    tk.Label(window_function, text="请输入下单时间:").grid(row=2, column=0, padx=20, pady=20)
    tk.Label(window_function, text="请输入奶茶名字:").grid(row=3, column=0, padx=20, pady=20)
    tk.Label(window_function, text="请输入数量:").grid(row=4, column=0, padx=20, pady=20)
    # 定义变量记录输入信息
    v1 = tk.StringVar()
    v2 = tk.StringVar()
    v3 = tk.StringVar()
    v4 = tk.StringVar()
    #输入框
    entry1 = tk.Entry(window_function, show=None, textvariable=v1).grid(row=1, column=1)
    entry2 = tk.Entry(window_function, show=None, textvariable=v2).grid(row=2, column=1)
    entry3 = tk.Entry(window_function, show=None, textvariable=v3).grid(row=3, column=1)
    entry4 = tk.Entry(window_function, show=None, textvariable=v4).grid(row=4, column=1)
    #生成按钮
    button = tk.Button(window_function, text="添加", command=kadd).place(relx=0.3,rely=0.9)
    button2 = tk.Button(window_function, text="返回", command=chaneg_main).place(relx=0.5,rely=0.9)
    #显示窗口
    window_function.mainloop()

#删除订单界面
def Staff_delete():
    global window_function
    global v5
    window_function=tk.Tk()
    window_function.title("茶托邦管理系统")
    window_function.geometry('400x250')
    tk.Label(window_function, text="删除订单", font=("黑体", 20)).grid(row=0,column=1,pady=20)
    tk.Label(window_function,text="请输入订单号:").grid(row = 1,column =0,padx=20)
    v5 =tk.StringVar()
    entry1=tk.Entry(window_function,show=None,textvariable=v5).grid(row = 1,column =1,pady=40)
    button = tk.Button(window_function, text="删除", command=delete,anchor = 's').place(relx=0.2,rely=0.7)
    button2 = tk.Button(window_function, text="返回", command=chaneg_main).place(relx=0.4,rely=0.7)
    window_function.mainloop()

 #查找订单信息界面
def Staff_select():
    global window_function
    global v6
    window_function=tk.Tk()
    window_function.title("茶托邦管理系统")
    window_function.geometry('600x200')
    tk.Label(window_function, text="查找订单信息", font=("黑体", 20)).grid(row=0,column=1,pady=20)
    tk.Label(window_function,text="请输入下单时间:").grid(row = 1,column =0,padx=20)
    v6 =tk.StringVar()
    entry1=tk.Entry(window_function,show=None,textvariable=v6).grid(row = 1,column =1,pady=20)
    button = tk.Button(window_function, text="查找", command=select).place(relx=0.3,rely=0.8)
    button2 = tk.Button(window_function, text="返回", command=chaneg_main).place(relx=0.5,rely=0.8)
    window_function.mainloop()
#添加订单界面跳转
def change_gadd():
    #销毁画布
    window.destroy()
    #生成新界面
    Staff_hadd()

#删除订单界面跳转
def change_delete():
    window.destroy()
    Staff_delete()

#条件查询订单界面跳转
def change_select():
    window.destroy()
    Staff_select()

#订单界面跳转
def chaneg_main():
    window_function.destroy()
    mainpage()
def chan_main():
    from choicepage import choicepage
    window.destroy()
    choicepage()
#订单界面
def mainpage():
    global window
    window = tk.Tk()
    window.title("茶托邦管理系统")
    window.geometry('500x450')
    #生成画布,销毁后生成新的画布实现跳转
    page = tk.Frame(window)
    page.pack()
    tk.Label(window, text="欢迎使用茶托邦信息管理系统", font=("黑体", 20)).pack(pady=10)
    button1 = tk.Button(window, text="删除订单信息", command=change_delete).pack(pady=10)
    button2 = tk.Button(window, text="添加订单信息", command=change_gadd).pack(pady=10)
    button3 = tk.Button(window, text="查找订单信息", command=change_select).pack(pady=10)
    button4 = tk.Button(window, text="退出", command=chan_main).pack(pady=10)

    window.mainloop()

#主函数生成主界面
if __name__ == '__main__':
    mainpage()


明明是差不多的呀,怎么不一样?

from tkinter import *
import tkinter.font as tf

def btn_click():
    text.insert(INSERT,("输入错误,请确定输入值!\n"))

def specialType():
    # 调整字体高亮
    ft = tf.Font(family='微软雅黑',size=10) 
    text.tag_config('tag',foreground = 'blue',background='pink',font = ft)
    text.insert(INSERT,"您选择的是特情码字典,查询结果如下:\n",'tag')
      
# enter调用
def btn_click_enter(self):
    btn_click()

# 清空消息 
def cleartext():
    text.delete('0.0', END)
    
# 创建窗口对象的背景色
root = Tk()
root.title('便捷式一键查询服务系统')
root.geometry('960x700')

# Frame为布局函数
main_frame = Frame(root)
text_frame = Frame(main_frame)
station_frame = Frame(main_frame)
botton_frame = Frame(station_frame)
# 建立列表 
l1 = Label(station_frame,text='输入门架,站码,IP,互通,厂商或相关拼音')
#l2 = Label(station_frame,text='')
ipText=Entry(station_frame)
# 字体显示
# ft = tkFont.Font(family='Fixdsys', size=10, weight=tkFont.BOLD)
# pack是加载到窗口
l1.pack(side='left')
ipText.pack(side='left')
ipText['width']=24
#l2.pack(side='left')
'''
两个函数的意义是既能enter运行,又可以点击运行,方便操作,扩大使用
bind绑定enter键
注意里面是return 而不是enter
'''
b = Button(station_frame,text='查询',command=btn_click)
b['width']=4
b['height']=1
b.pack(side='left')
ipText.bind("<Return>", btn_click_enter)

# 消息输入界面
text = Text(text_frame,width = 130, height= 39)
text.pack()
main_frame.pack()
c = Button(text='清空',command=cleartext)
c['width']=4
c['height']=1
c.pack(side='left')
# 第二个函数
d = Button(text='导出excel',command=excelExport)
d['width']=8
d['height']=1
d.pack(side='top')
# 输入框的位置
station_frame.pack(side='top',pady='10')
text_frame.pack()
# 进入消息循环
root.mainloop()