Problem mit SQL Querys

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

Problem mit SQL Querys

Beitragvon sprudel » Sonntag 13. Mai 2007, 16:55

Hallo.
Ich bekomme folgende Meldung:

Code: Alles auswählen

self.parent.DB.execute("Delete from `demolist` where `id` = ?",(str(self.id)))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 4 supplied.


Was hat das für einen Grund? Ich habe doch nur einen einzigen Parameter übergeben? Irgendwie versteh ich das nicht. Hoffe ihr könnt mir weiterhelfen.
Gruß sprudel
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Beitragvon querdenker » Sonntag 13. Mai 2007, 19:01

Ist in self.id ganz sicher nur die id?

Und es könnte hifreich sein, wenn du den ganzen für den Fehler relevanten Code postest, nicht nur den letzten Befehl, der den Fehler (vermeintlich) erzeugt.

mfg, querdenker
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Problem mit SQL Querys

Beitragvon gerold » Sonntag 13. Mai 2007, 19:09

Hi sprudel!

Code: Alles auswählen

self.parent.DB.execute("Delete from `demolist` where `id` = ?",(str(self.id),))

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Beitragvon BlackJack » Sonntag 13. Mai 2007, 19:10

Wenn ich mal raten müsste, dann ist die `self.id` eine Zeichenkette mit 4 Zeichen gewesen. Das zweite Argument muss eine Sequenz sein mit sovielen Elementen wie Platzhalter in der SQL-Anweisung stehen. Und eine Zeichenkette ist eine Sequenz von Zeichen.

Pack das eine Element einfach in ein Tupel.

Edit: So wie gerold das gezeigt hat. :-)
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

Beitragvon sprudel » Sonntag 13. Mai 2007, 19:14

Da habt ihr mich ja mal wieder gerettet :-)

Hab natürlich gedacht das wäre ein Tupel.
Vielen Dank
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: Problem mit SQL Querys

Beitragvon jens » Montag 14. Mai 2007, 07:44

sprudel hat geschrieben:

Code: Alles auswählen

str(self.id)

Warum machst du das so? Ist self.id nicht eine Zahl? Dann sollte das IMHO auch als Zahl in die DB.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

Beitragvon sprudel » Montag 14. Mai 2007, 11:12

das ID-Feld ist bei mir so eingerichtet dass es auch Wörter enthalten kann, bspsw. 100a

Ich verwende auch kein Auto Increment

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder