简体   繁体   English

_tkinter.TclError:预期的浮点数,但得到“”

[英]_tkinter.TclError: expected floating-point number but got “”

Trying to connect and add collected data to MySQL database gives me error.尝试将收集到的数据连接并添加到 MySQL 数据库时出现错误。 Please help with the fault.请帮助解决故障。 I'm just starting my tkinter journey.我刚刚开始我的 tkinter 旅程。

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='monkey123', database='NZ')
    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()

Error message:错误信息:

 Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\nihaa\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\nihaa\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "C:/Users/nihaa/PycharmProjects/GUI/venv/db'.py", line 14, in flush
    phone = ph.get()
  File "C:\Users\nihaa\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 "" 

You are deleting the contents of the widgets before fetching the values.在获取值之前,您正在删除小部件的内容。 Thus, the values are empty strings, and thus the error saying it expected a floating point number but got an empty string.因此,这些值是空字符串,因此错误说它需要一个浮点数但得到一个空字符串。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM