Portál AbcLinuxu, 9. listopadu 2025 02:04
c.execute("INSERT INTO protocol1(jmeno) VALUES(?)", (name))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 6 supplied
Problém tedy je v proměnná "name", která je vnímaná jako více znaku ne jako řetězec.
"name" je zadefinovaná jako jeden item ze seznamu:
name = (sbox[7])
Řešení dotazu:
(?) za (?,?,?,?,?,?), pokud tedy chcete vkládat 6 sloupců. Popř. můžete vytvořit přímo string (silně nedoporučuji), tj.nahradit "…VALUES(?)",(name) za něco jako "…VALUES("+ ",".join(name) +")".
c.execute("INSERT INTO protocol1(jmeno) VALUES(?)", (name,))
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.