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