【发布时间】:2020-10-01 08:06:19
【问题描述】:
我正在制作图书馆管理软件。记录没有被插入。我似乎找不到错误 这是编码
from tkinter import *
from tkinter import messagebox
from tkinter import Entry
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="0000",database="test")
libcur=mydb.cursor()
from PIL import ImageTk,Image
lib=Tk()
var=StringVar()
fn=StringVar()
yn=StringVar()
ln=IntVar()
dn=StringVar()
an=StringVar()
kn=StringVar()
gn=StringVar()
mn=StringVar()
pn=StringVar()
def insert():
top=Toplevel()
top.geometry("500x500")
top.title("INSERT RECORDS")
global bname
global bid
global author
global DOI
global DOR
global RES
global RNM
global AD
label4=Label(top,text="Book Name:",fg="orange",font=("arial",15,"bold"))
label4.place(x=65,y=70)
bname=Entry(top,textvariable=fn)
bname.place(x=270,y=75)
label5=Label(top,text="Book Id:",fg="seagreen",font=("arial",15,"bold"))
label5.place(x=65,y=30)
bid=Entry(top,textvariable=ln)
bid.place(x=270,y=35)
label6=Label(top,text="Author:",fg="grey",font=("arial",15,"bold"))
label6.place(x=65,y=100)
author=Entry(top,textvariable=dn)
author.place(x=270,y=105)
label7=Label(top,text="Date of issuing:",fg="deepskyblue",font=("arial",15,"bold"))
label7.place(x=65,y=130)
DOI=Entry(top,textvariable=an)
DOI.place(x=270,y=135)
label8=Label(top,text="Date of return:",fg="gold",font=("arial",15,"bold"))
label8.place(x=65,y=170)
DOR=Entry(top,textvariable=gn)
DOR.place(x=270,y=175)
label9=Label(top,text="Re-issues(Yes/No):",fg="navy",font=("arial",15,"bold"))
label9.place(x=65,y=200)
RES=Entry(top,textvariable=mn)
RES.place(x=270,y=205)
list1= {"Adventure","Art","Children","Contemporary","Mystery","Cooking","Dystopian","Development","AutoBiography","Families","Fantasy","Fiction","Guide","Humor","History","Health","Motivational","Memoir","Novel","Paranormal","Personal","Romance","Travel"}
def dynamic_data_entry():
bname.delete(0,END)
bid.delete(0,END)
author.delete(0,END)
DOI.delete(0,END)
DOR.delete(0,END)
RES.delete(0,END)
RNM.delete(0,END)
AD.delete(0,END)
id1=ln.get()
name1=fn.get()
auth1=dn.get()
doi1=an.get()
dor1=gn.get()
rname=kn.get()
Address=pn.get
reiss=mn.get()
gen1=var.get()
libcur.execute("INSERT INTO
tcl(Book_id,Book_name,Author,DOI,DOR,Reissues,Recipients_Name,Address,Genre)
VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)",(id1,name1,auth1,doi1,dor1,reiss,rname,Address,gen1))
mydb.commit()
messagebox.showinfo("INSERT STATUS","RECORD HAS BEEN ADDED SUCCESSFULLY")
libcur.close()
lib.mainloop()`
当我点击顶部窗口中的插入记录按钮时,它显示以下错误-
Traceback (most recent call last):
File "C:\Users\sapna\anaconda3\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Users\sapna\Desktop\SAMARTH.py", line 136, in dynamic_data_entry
id1=ln.get()
File "C:\Users\sapna\anaconda3\lib\tkinter\__init__.py", line 510, in get
return int(self._tk.getdouble(value))
tkinter.TclError: expected floating-point number but got ""
如果你能帮助我,那将非常有帮助。我会很感激付出的努力。 非常感谢。
@布莱恩·奥克利 我已经试过了。但是在这样做之后它会显示以下错误
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in
your SQL syntax; check the manual that corresponds to your MySQL server
version for the right syntax to use near ',,,,,,,<bound method StringVar.get
of <tkinter.StringVar object at 0x000002856EC' at line 1
我该如何解决这个问题。
【问题讨论】:
-
请创建一个minimal reproducible example(强调最小)。
-
在创建 minimal reproducible example 时,如果您删除了对图像和 mysql 的依赖关系,将会有所帮助。这些似乎都与您发布的错误消息无关。