Portál AbcLinuxu, 12. května 2025 07:30
c.execute("INSERT INTO protocol1(jmeno) VALUES(?)", (name)) sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 6 suppliedProblé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.