Seite 1 von 1

SQLite-Datenbank kann nicht ausgelesen werden

Verfasst: Donnerstag 11. Juni 2020, 20:02
von apple-pi
Hallo zusammen,

ich versuche gerade mit SQLite eine Applikation aufzubauen und habe dabei folgenden Programmcode erstellt, der mir eine kleine Testtabelle erstellt, die dann wieder ausgelesen werden soll. Da Programm sieht folgendermaßen aus. Mit den sql commands erstelle ich zunächst di Tabelle, dann machste, setze den beispielswert, dann lese ich aus. Das Problem ist, dass das auslesen nicht klappt. Ich erhalte keine Werte. Könnt ihr mir helfen. Wie kann ich die Datenbank auslesen bzw. was mach ich verkehrt?

import tkinter
from tkinter import *

import os, sys, sqlite3

# Verbindung zur Datenbank erzeugen
connection = sqlite3.connect("test.db")

# Datensatz-Cursor erzeugen
cursor = connection.cursor()

#Tabelle erzeugen
sql = "CREATE TABLE test(var1 TEXT, var2 TEXT)"


print(sql)

#cursor.execute(sql)
connection.close()


connection = sqlite3.connect("test.db")
cursor = connection.cursor()
sql = "SELECT var1 FROM test"
#sql = "INSERT INTO test VALUES('Test','It')"
#sql = "SELECT * FROM test"
cursor.execute(sql)

print(cursor)
print(sql)
for dsatz in cursor:
print(dsatz[0] + dsatz[1])

connection.close()

Re: SQLite-Datenbank kann nicht ausgelesen werden

Verfasst: Donnerstag 11. Juni 2020, 20:09
von Sirius3
Hast Du überhaupt Daten in die Tabelle geschrieben? Und auch mit `commit` gesichert?

Re: SQLite-Datenbank kann nicht ausgelesen werden

Verfasst: Donnerstag 11. Juni 2020, 20:15
von apple-pi
Hallo Sirius,
ja ich habe mit dem oben auskommentierten Befehl Testdaten in die Tabelle geschrieben:

#sql = "INSERT INTO test VALUES('Test','It')"

Also, ich habe das Programm mehrfach laufen lassen und immer jeweils einen der drei Befehle mit dem sql command ausgeführt.

sql = "SELECT var1 FROM test"
sql = "INSERT INTO test VALUES('Test','It')"
sql = "SELECT * FROM test"

Zunächst mit

sql = "INSERT INTO test VALUES('Test','It')"

die Daten reingeschrieben, dann wollte ich die mit

sql = "SELECT var1 FROM test"
bzw.
sql = "SELECT * FROM test"

lesen.

Re: SQLite-Datenbank kann nicht ausgelesen werden

Verfasst: Donnerstag 11. Juni 2020, 20:19
von apple-pi
commit habe ich scheinbar nicht ausgeführt. Wo muss der Befehl platziert werden und auf welche Weise?

Re: SQLite-Datenbank kann nicht ausgelesen werden

Verfasst: Donnerstag 11. Juni 2020, 20:25
von apple-pi
Hallo Sirius,

der commit Befehl hat gefehlt. Danke für den Hinweis. Jetzt ging's es nach.

Viele Grüße
apple-pi