Sqlite3.InterfaceError:绑定参数1时出错

时间:2018-04-05 13:42:18

标签: python sql sqlite

我正在尝试更新用户名=用户名=?和FlashcardID = ?.我改变了用户名?一个真正的价值,它工作但很快我改回来它给了我一个错误。

这是我的代码 -

connection.execute ("UPDATE UserRank SET CorrectScore = CorrectScore + 1 WHERE User = ? AND FlashcardID = ?",(self.username, self.id[self.currentQ]))

我得到的错误如下 -

  

Sqlite3.InterfaceError:错误绑定参数1 - 可能   不支持的类型。

将其编辑为此 -

connection.execute ("UPDATE UserRank SET CorrectScore = CorrectScore + 1 WHERE User = '?' AND FlashcardID = ?",(self.username, self.id[self.currentQ]))

更改的错误是 -

  

sqlite3.ProgrammingError:提供的绑定数量不正确。该   当前语句使用1,并且提供了2个。

2 个答案:

答案 0 :(得分:0)

更新

阅读您尝试将整数123与用户名进行比较的评论。这就是它无法绑定参数1的原因。

根据评论中的建议,请查看self.username字段。 如果您需要比较它,

使用第一个查询(这很好),但将123强制转换为字符串:

connection.execute ("UPDATE UserRank SET CorrectScore = CorrectScore + 1 WHERE User = ? AND FlashcardID = ?",( str(self.username), self.id[self.currentQ]))

它可能对你有用。

答案 1 :(得分:0)

它正在调用一个元组,因此为了解决这个问题,我所做的就是将元组放入一个名为self.fid的新变量中,然后就可以了。

Range("C5").Select  <-- a formula that needs to be copied
Selection.Copy
Range("B5").Select
Selection.End(xlDown).Select
SendKeys ("{TAB}")
Range(Selection, Selection.End(xlUp)).Select
Selection.Paste