str对象没有属性get

2024-09-29 07:33:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在通过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'

我如何解决这个问题 多谢各位


Tags: inpyauthgetdatetkinterdynamicusers
1条回答
网友
1楼 · 发布于 2024-09-29 07:33:35

您有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()))

顺便说一句,您从不使用keywordvalue变量

并且commit()方法应该在连接对象上执行,而不是在游标上执行

相关问题 更多 >