str对象没有属性get

时间:2020-05-28 07:39:23

标签: python mysql tkinter

我正在通过tkinter与mysql建立连接。我必须在条目中输入日期值并将其存储在数据库中。这是代码

def dynamic_data_entry():
    unix=int(time.time())
    date=str(datetime.datetime.fromtimestamp(unix).strftime("%Y-%m-%d %H:%M:%S"))
    keyword="python"
    value=random.randrange(0,10)
    bname=StringVar()
    auth=StringVar()
    reiss=StringVar()
    gen=StringVar()
    libcur.execute("insert into libarius(Book_Name,Author,DOI,DOR,Re_issues,Genre) values (%s,%s,%s,%s,%s,%s)", (bname.get(),auth.get(),date.get(),date.get(),reiss.get(),gen.get()))
    libcur.close()
    libcur.commit()

但是我收到以下错误

runfile('C:/Users/sapna/Desktop/SAMARTH.py', wdir='C:/Users/sapna/Desktop')
Exception in Tkinter callback
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 64, in dynamic_data_entry
    libcur.execute("insert into libarius(Book_Name,Author,DOI,DOR,Re_issues,Genre) values (%s,%s,%s,%s,%s,%s)", (bname.get(),auth.get(),date.get(),date.get(),reiss.get(),gen.get()))
AttributeError: 'str' object has no attribute 'get'

我该如何解决这个问题 非常感谢你

1 个答案:

答案 0 :(得分:2)

您有git push -f ,但是date.get()是字符串,而不是date。您无需调用StringVar即可获取其值。

get()

顺便说一句,您永远不要使用 libcur.execute("insert into libarius(Book_Name,Author,DOI,DOR,Re_issues,Genre) values (%s,%s,%s,%s,%s,%s)", (bname.get(),auth.get(),date,date,reiss.get(),gen.get())) keyword变量。

value方法应该在连接对象而不是光标上执行。