m0_63932234 2023-07-02 06:52 采纳率: 75%
浏览 11
已结题

怎么让最终的数据库结果也呈现为一个界面?

可不可以将最终的结果也由tkinter的界面呈现呢?目前是只能在output打出来



```python

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()

另外,我的建库是这样的:

import pymssql
connect = pymssql.connect(host = "127.0.0.1",database = "茶托邦重大店",charset="utf8")  # 建立连接
if connect:
    print("successful connected")
cursor = connect.cursor()   # 创建一个游标对象,python里的sql语句都要通过cursor来执行
cursor.execute("CREATE TABLE 订单 (订单号 INT PRIMARY KEY,下单时间 DATETIME,订单金额 DECIMAL(10, 2))")
cursor.execute("CREATE TABLE 商品详情 (订单号 INT,奶茶名字 VARCHAR(50),数量 INT,PRIMARY KEY (订单号, 奶茶名字),FOREIGN KEY (订单号) REFERENCES 订单(订单号))")
cursor.execute("CREATE TABLE 奶茶 (奶茶名字 VARCHAR(50) PRIMARY KEY,售价 DECIMAL(10, 2),成本 DECIMAL(10, 2))")
cursor.execute("CREATE TABLE 配方 (奶茶名字 VARCHAR(50),糖精 DECIMAL(10, 2),奶茶粉 DECIMAL(10, 2),芋圆 DECIMAL(10, 2),冻冻 DECIMAL(10, 2),椰果 DECIMAL(10, 2),珍珠 DECIMAL(10, 2),脆啵啵 DECIMAL(10, 2),PRIMARY KEY (奶茶名字),FOREIGN KEY (奶茶名字) REFERENCES 奶茶(奶茶名字))")
cursor.execute("CREATE TABLE 财务 (日期 DATE PRIMARY KEY,销售额 DECIMAL(10, 2),成本 DECIMAL(10, 2),利润 DECIMAL(10, 2)) ")
connect.commit()  #提交
cursor.close()  # 关闭游标
connect.close()  # 关闭连接

```

  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 7月2日

悬赏问题

  • ¥20 搭建三相栅极电路后高侧浮动地VS存在电容特性
  • ¥20 云卓h12pro 数传问题
  • ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
  • ¥20 海思 nnie 编译 报错
  • ¥50 决策面并仿真,要求有仿真结果图
  • ¥15 关于路由器的路由协议配置
  • ¥15 springboot接入微信支付SDK
  • ¥50 大区域的遥感影像匹配 怎么做啊
  • ¥15 求解答:pytorch跑yolov8神经网络受挫
  • ¥20 Js代码报错问题不知道怎么解决