问题描述
我不能为我的生活想象为什么这是失败的,我知道的丑陋代码,但我只需要把它用于学校项目。
def changeusername(self,i):
user="self.user=self.username"+str(i)+".get()"
exec(user)
print(self.user)
record1=list(c.execute("SELECT * FROM logins WHERE usernames=(?)",(self.user)))
print(record1)
我收到此错误:
line 428, in changeusername
record1=list(c.execute("SELECT * FROM logins WHERE usernames=(?)",(self.user)))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 5 supplied.
我可能错过了一些非常简单的东西,但是嘿:P
编辑:它似乎适用于我的单个char用户名,但是当我尝试ADMIN用户名因此5个绑定时它失败了
1楼
将参数传递给execute()
作为元组。
更换:
c.execute("SELECT * FROM logins WHERE usernames=(?)", (self.user))
有:
c.execute("SELECT * FROM logins WHERE usernames=(?)", (self.user, ))