Pysqlite - proměná při změně hodnoty v tabulce – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pysqlite - proměná při změně hodnoty v tabulce – Python – Fórum – Programujte.comPysqlite - proměná při změně hodnoty v tabulce – Python – Fórum – Programujte.com

 

Fonadius0
Návštěvník
15. 7. 2007   #1
-
0
-

Zdravím začal jsem používat pysqlite a narazil jsem na následující problém. Při změně hodnoty položky v tabulce pomocí proměnné mi vyhazuje chybu.



databaze = sqlite.connect('databaze.db')
cursor = databaze.cursor()
obsah=vstup.get()
cursor.execute("UPDATE tabulecka SET obsahy=obsah")
databaze.commit()

(vstup je jméno klasického tkinterovského vstupu) při takovémto použití mi to vrátí následující chybu:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__

return self.func(*args)
File "C:\Documents and Settings\Obecny uzivatel\Plocha\Novy.py". line 16, in uloz

cursor.execute("UPDATE tabulecka SET obsahy=obsah")
OperationalError: no such column: obsah

Nahlásit jako SPAM
IP: ...–
Nevěřte moc firmám, které slibují komplexní řešení vašich problémů. Komplexní řešení z pravidla mívají netriviální imaginární část.
Pavel Synek0
Super člen
15. 7. 2007   #2
-
0
-

No ten příkaz na db v tvém případě vypadá přesně takhle:

"UPDATE tabulecka SET obsahy=obsah"

A ty potřebuješ tohle:
"UPDATE tabulecka SET obsahy=(to co je v udělátku vstup)"

takže bych to vyřešil nějakým spojováním řetězců:
databaze = sqlite.connect('databaze.db')

cursor = databaze.cursor()
obsah=vstup.get()
dotaz="UPDATE tabulecka SET obsahy= "+obsah
cursor.execute(dotaz)
databaze.commit()

odzkoušený to není (o ňákym SQLite nemám ani páru...), ale takhle nějak by to fungovat mělo

Nahlásit jako SPAM
IP: ...–
Fonadius0
Návštěvník
16. 7. 2007   #3
-
0
-

Strašně moc díky :) s menší úpravou to funguje naprosto správně.

dotaz="UPDATE tabulecka SET obsahy="+"'"+vstup.get()+"'"

Nahlásit jako SPAM
IP: ...–
Nevěřte moc firmám, které slibují komplexní řešení vašich problémů. Komplexní řešení z pravidla mívají netriviální imaginární část.
chalucha
~ Anonymní uživatel
6 příspěvků
25. 7. 2007   #4
-
0
-

To Fonadius:
shodou okolností jsem se také začal věnovat pysqlite a mají tam na to hezčí mechanismus(viz. jejich dokumentace), stačí napsat něco jako:

cur.execute("UPDATE tabulecka SET obsahy=?",(vstup.get(),))

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý