Portál AbcLinuxu, 12. května 2025 07:30

Dotaz: Python - convert listu do stringu

5.6.2016 14:53 Coorey | skóre: 2
Python - convert listu do stringu
Přečteno: 527×
Odpovědět | Admin
Zdravím,

žádám vás znova o radu ohledně Pythonu. Tentokrát mám problém s uložením proměnné do SQLite databáze. Vždy to vypíše:
 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:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

wamba avatar 5.6.2016 15:53 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Python - convert listu do stringu
Odpovědět | | Sbalit | Link | Blokovat | Admin
nejlépe když ukážete celý příklad, který půjde spustit, (včetně toho jak vypadá tabulka), ale předpokládám, že bude stačit nahradit (?) 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) +")".

This would have been so hard to fix when you don't know that there is in fact an easy fix.
Řešení 1× (Coorey (tazatel))
5.6.2016 15:53 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Python - convert listu do stringu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus tohle:
c.execute("INSERT INTO protocol1(jmeno) VALUES(?)", (name,))
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
5.6.2016 17:37 Coorey | skóre: 2
Rozbalit Rozbalit vše Re: Python - convert listu do stringu
Neuvěřitelný... díky :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.