如何确保将 Tkinter 表单中的值输入 MySQL 表而不是收到错误消息?

Posted

技术标签:

【中文标题】如何确保将 Tkinter 表单中的值输入 MySQL 表而不是收到错误消息?【英文标题】:What to do to ensure that values from Tkinter form is being entered into MySQL table instead of getting an error message? 【发布时间】:2021-12-06 16:04:37 【问题描述】:

我制作了一个 tkinter 表单,它应该将值输入到 mysql 表中。但是,当我在表单中输入适当的值时,我会收到我创建的错误消息(“所有字段都是必需的”)。在下面的代码中,a=task_name.get() [string], b=student_subject.get() [string], c=due_date.get() [int], d=priority.get() [int], e =task_type.get() [字符串],和 f=date_added.get() [int]。

def action():

        if a=="" or b=="" or e=="":
            messagebox.showerror("Error" , "All fields are required" , parent = wintask)
        else:
            con = mysql.connect(host="localhost", user="root", password="12345678", database="ibcomputerscience")
            cur = con.cursor()
            cur.execute("INSERT INTO task_info(student_subject, task_name, due_date, priority, task_type, date_added) VALUES(%s,%s,%s,%s,%s,%s)",(a, b, c, d, e, f))
            con.commit()
            con.close()
            messagebox.showerror("Success" , "Task Added Successfully", parent = wintask)

我将不胜感激任何帮助/见解。谢谢!

【问题讨论】:

请提供minimal reproducible example。你也试过打印出abc,...?他们是你所期望的吗? 根据代码,如果你得到提到的错误,很明显abe是空字符串。 【参考方案1】:

您需要在action() 中调用那些.get()

def action():
    a = student_subject.get()
    b = task_name.get()
    c = due_date.get()
    d = priority.get()
    e = task_type.get()
    f = date_added.get()

    if a == "" or b == "" or e == "":
        messagebox.showerror("Error", "All fields are required", parent=wintask)
    else:
        con = mysql.connect(host="localhost", user="root", password="12345678", database="ibcomputerscience")
        cur = con.cursor()
        cur.execute("INSERT INTO task_info(student_subject, task_name, due_date, priority, task_type, date_added) VALUES(%s,%s,%s,%s,%s,%s)",(a, b, c, d, e, f))
        con.commit()
        con.close()
        messagebox.showinfo("Success", "Task Added Successfully", parent=wintask)

【讨论】:

以上是关于如何确保将 Tkinter 表单中的值输入 MySQL 表而不是收到错误消息?的主要内容,如果未能解决你的问题,请参考以下文章

python tkinter 如何获取文本框中的内容?

在Spring boot中,如何将表单动作中的jsp表单输入的值作为参数传递

JavaScript --- 如何制定规则以确保用户输入的值介于两个特定数字之间

如何将输入键绑定到 tkinter 按钮

在 PHP 中提交表单时如何保留输入字段中的值?

使用Tkinter我试图添加用户输入的值并将其添加到文件中存在的值,但它不起作用