1
努力学习SQLite和我不知道我明白为什么我不能得到这个代码工作:查询sqlite的分贝可变
def get_bday(self):
name = self.input_name()
self.c.execute('SELECT * FROM birthdays WHERE name =?', name)
for row in self.c.fetchall():
print(row)
的name
可变正从另一个方法返回。对于这个例子,我使用不带引号的“joe smoe”作为名称变量来执行查询。当我运行上面的代码我得到:
self.c.execute('SELECT * FROM birthdays WHERE name =?', name)
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 8 supplied.
单词“乔SMOE”长8个绑定如果算上空间。但我不知道这意味着什么。我认为我可以简单地将一个变量传递给Sqlite,就像我在Python中传递变量一样简单,但似乎并非如此。我认为这与我对元组理解很差有关。
这做到了!我需要了解如何将python变量传递给sqlite。 – Biggen
干杯,队友。快乐的编码给你:-) [DB-API](https://www.python.org/dev/peps/pep-0249/)是我开始思考的好地方。 – bernie