mysql _tkinter.TclError:需要浮点数,但得到“”

hs1ihplo  于 12个月前  发布在  Mysql
关注(0)|答案(1)|浏览(104)

尝试连接并将收集的数据添加到MySQL数据库时出错。请帮忙处理故障。我才刚刚开始我的思想之旅。

from tkinter import *
import mysql.connector as mysql

root = Tk()

def flush(*args):

    e_1.delete(0, END)
    e_2.delete(0, END)
    e_3.delete(0, END)

    name = nme.get()
    phone = ph.get()
    emirate = e_id.get()
    con = mysql.connect(host='localhost', user='root', password='*******', database='DB')
    c = con.cursor()
    c.execute("Insert into gli (NAME_S,PH_NO,E_ID) VALUES ('"+name+"','"+str(phone)+"','"+str(emirate)+"')")

    c.execute('commit')

    con.close()

nme= StringVar()
ph = IntVar()
e_id = IntVar()

label_1 = Label(root,text='Patient Name',fg='blue')
label_2 = Label(root,text='Phone number',fg='blue')
label_3 = Label(root,text='Emirates ID',fg='blue')

label_1.grid(row=0,column=0)
label_2.grid(row=1,column=0)
label_3.grid(row=2,column=0)

e_1 = Entry(root,borderwidth=2,textvariable=nme)
e_2 = Entry(root,borderwidth=2,textvariable=ph)
e_3 = Entry(root,borderwidth=2,textvariable=e_id)

e_1.grid(row=0,column=1,ipady=10,padx=10,pady=10)
e_2.grid(row=1,column=1,ipady=10,padx=10,pady=10)
e_3.grid(row=2,column=1,ipady=10,padx=10,pady=10)

B_1 = Button(root,text='ENTER',command =flush)
B_1.grid(row=4,column=1)


root.mainloop()

错误信息:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\xxxx\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 508, in get
    return self._tk.getint(value)
_tkinter.TclError: expected integer but got ""

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\xxxx\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "C:/Users/xxxx/PycharmProjects/GUI/venv/db'.py", line 14, in flush
    phone = ph.get()
  File "C:\Users\xxxx\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 510, in get
    return int(self._tk.getdouble(value))
_tkinter.TclError: expected floating-point number but got ""
kg7wmglp

kg7wmglp1#

在获取值之前,您将删除小部件的内容。因此,值是空字符串,因此错误说它期望一个浮点数,但得到一个空字符串。

相关问题