我在写代码的项目,并使用SQLite3的,当我遇到这个错误,我似乎无法修复来了。sqlite3.OperationalError:没有这样的列:PY_VAR0
我之前抬头的答案,但它似乎总是SQLite的阅读变量作为列标题的情况,但在这里它找不到列不是我的变量之一,所以我有点失落。
我试图从变量插入数据到一个SQLite数据库,而起初我有一个简单的版本工作正常,现在我尝试并将其整合到我的完整代码中,我再次陷入困境。
下面是我使用来获取整个事情的工作我尝试前,正确地使用它的试用版:
c.execute("CREATE TABLE TEST (GIFNAME, TagStyle, TagEvent, TagTime)")
def SaveStyle():
if (GIFName.get() != "") and (TagStyle.get() != ""):
#print(GIFName.get(), ", ", TagStyle.get(), ", ", TagEvent.get(), ", ", TagTime.get())
#Saved1=tk.Label(window4, text="Saved!", fg="#ffffff", bg="#D0CEC2")
#Saved1.grid(row=9, column=1)
c.execute("INSERT INTO TEST VALUES (%s,%s,%s,%s)" %(GIFName2, TagStyle2, TagEvent2, TagTime2))
conn.commit()
c.execute("select * from TEST")
print(c.fetchall())
我知道代码是不是很大,我是比较新的编码所以它不完全完美,我只是想让这一部分得到修复,因为它将用于我的程序的很多部分。
它正在使用4个变量,因为原来的变量是tk.StringVar()
,并且sqlite不停地回来说它们不受支持。
以下是完整的错误消息:
"Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python33\lib\idlelib\run.py", line 109, in main
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
File "C:\Python33\lib\queue.py", line 175, in get
raise Empty
queue.Empty
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__
return self.func(*args)
File "N:\PYTHON\Alice Program\trial.py", line 16, in SaveStyle
c.execute("INSERT INTO TEST VALUES (%s,%s,%s,%s)" %(GIFName2, TagStyle2, TagEvent2, TagTime2))
sqlite3.OperationalError: no such column: PY_VAR0"
(对不起,我不得不格式化此为代码,它不会让我张贴的报价)
本来我是用?
代替的%s
但它不停地说我的变量是不支持的,和一个朋友正在使用%s
并得到了它的工作,但她不记得她做了什么,现在她失去了文件,所以我不能尝试使用它的帮助。
预先感谢您的帮助,如果我错过了任何信息,让我知道。
您是否试过在本网站搜索“PY_VAR0”?这种问题出现很多,而且总是出于同样的原因。 –