Select mit String aus zwei Zahlen in SQLite3
Hallo,
ich versuche mich gerade an einem "Text Adventure" da ich Python besser kennenlernen möchte.
Doch dabei stoße ich jetzt wo ich Code und Datenbank fertig habe auf ein Problem mit dem Modul SQLite3 da dieses anscheinend bei folgendem Code abschnitt keinen String aus zwei Charactern für SELECT nutzen kann:
oder
Das bedeutet das ich nicht mit einem String suchen kann der aus zwei Zeichen oder mehr besteht aber das wäre ziemlich dumm da du damit bei großen Datenbanken das Modul ja in die Tonne kloppen könntest.
Deswegen denke ich das es hier in der Community jemanden gibt der sich damit besser auskennt.
Folgender Fehler wird ausgegeben:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 2 supplied.
LG.: StillBad
ich versuche mich gerade an einem "Text Adventure" da ich Python besser kennenlernen möchte.
Doch dabei stoße ich jetzt wo ich Code und Datenbank fertig habe auf ein Problem mit dem Modul SQLite3 da dieses anscheinend bei folgendem Code abschnitt keinen String aus zwei Charactern für SELECT nutzen kann:
cur.execute("SELECT Beschreibung FROM btoe WHERE raum_id=?", id)
cur.execute("SELECT Beschreibung FROM btoe WHERE raum_id=?", "10")
Deswegen denke ich das es hier in der Community jemanden gibt der sich damit besser auskennt.
Folgender Fehler wird ausgegeben:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 2 supplied.
LG.: StillBad
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 570693
Url: https://administrator.de/forum/select-mit-string-aus-zwei-zahlen-in-sqlite3-570693.html
Ausgedruckt am: 17.03.2025 um 01:03 Uhr
6 Kommentare
Neuester Kommentar

Das bedeutet das ich nicht mit einem String suchen kann der aus zwei Zeichen oder mehr besteht
Das ist natürlich Blödsinn, sagt einem ja schon der gesunde Menschenverstand. Dagegen hilft wie immer mal ins Manual zu schauen..https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.execute
Schreib das zweite Argument als tuple, oder eben als named object
id = 234
cur.execute("SELECT Beschreibung FROM btoe WHERE raum_id=?", (id,))

Gehört als Entwickler immer parat auf den zweiten Monitor gelegt
.
Nochmals Danke,
Bidde.
Zitat von @StillBad:
So wie du es da stehen hast hatte ich es schon vorher probiert hat aber seltsamer weise trotzdem nicht funktioniert.
Das liegt dann entweder an einem Fehler bei dir (Komma vergessen) oder eine ältere Python Version, klappt hier nämlich problemlos.So wie du es da stehen hast hatte ich es schon vorher probiert hat aber seltsamer weise trotzdem nicht funktioniert.