Seite 1 von 1

Reinen Zahlenwert aus SQLite Tabelle auslesen

Verfasst: Montag 3. September 2018, 20:09
von sunshineh
Ich habe eine SQLite Tabelle mit folgendem Aufbau:
AlertType - Text
Active - Bool

Nun möchte ich den Spalteninhalt einer bestimmten Zeile auslesen mit
cur.execute("SELECT Active FROM ALERTconfig WHERE ALERTtype == 'Away'")
print(cur.fetchone())
return res

Als Printausgabe erhalte ich
(0,)

Was muss ich wie ändern, damit ich nur "0" oder "1" erhalte?

Re: Reinen Zahlenwert aus SQLite Tabelle auslesen

Verfasst: Montag 3. September 2018, 20:26
von Sirius3
Das Ergebnis ist ein Tuple, das Du einfach entpacken kannst:

Code: Alles auswählen

cur.execute("SELECT Active FROM ALERTconfig WHERE ALERTtype == ?", ['Away'])
active, = cur.fetchone()

Re: Reinen Zahlenwert aus SQLite Tabelle auslesen

Verfasst: Montag 3. September 2018, 20:33
von kbr
Und da Du einen boolschen Wert abfragst, dürfte die Rückgabe eines Booleans sinnvoll sein:

Code: Alles auswählen

return bool(active)

Re: Reinen Zahlenwert aus SQLite Tabelle auslesen

Verfasst: Montag 3. September 2018, 21:16
von __blackjack__
Statt ``ALERTtype == 'Away'`` sollte das wohl ``ALERTtype = 'Away'`` heissen.

Man sieht hier auch ganz schön das SQL bei Bezeichnern nicht auf Gross-/Kleinschreibung achtet. Allerdings gibt's Datenbanken die das dann doch tun, deshalb würde ich Bezeichner grundsätzlich klein schreiben. Und Unterstriche verwenden um Worte zu trennen.