ich möchte prüfen, ob eine Tabelle noch leer ist, d.h. ob noch keine Einträge gemacht wurden.
Dazu habe ich beim Anlegen der Tabelle eine Zeile mit Leerstrings eingetragen.
Code: Alles auswählen
sql = "CREATE TABLE Nachrichten(Zeitstempel FLOAT, Nickname TEXT, Nachricht TEXT)"
cursor.execute(sql)
connection.commit()
sql = "INSERT INTO Nachrichten VALUES(0,'','')" <---- Zeile mit Leerstrings
cursor.execute(sql)
connection.commit()
Code: Alles auswählen
connection = sqlite3.connect ("Datenbank/"+Leitungsname+".db")
cursor = connection.cursor()
sql = "SELECT * FROM Nachrichten ORDER BY Zeitstempel DESC"
cursor.execute(sql)
connection.commit()
row = cursor.fetchone()
if (row[1] != ""):
etc...
Jetzt hab ich lange (wirklich lange, also bitte keine "bei SQlite nachgucke" posten) nachgeschaut, ob man nicht eine Zelle oder Tabellenzeile nach nicht angelegt prüfen kann. Ich bin immer nur auf solche (oder ähnliche, die ich probierte) Lösungen gestoßen:
Code: Alles auswählen
if (row[0] != None):
Code: Alles auswählen
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/home/www/web4/html/cgi-bin/Telegrafenleitung3/Telegrafenleitung3b.cgi in ()
102 row = cursor.fetchone()
103 aktZeit = time.time()
104 if (row[0] != None):
105 eingetrageneZeit = row[0]
106 Nick = row[1]
row = None, builtin None = None
<type 'exceptions.TypeError'>: 'NoneType' object is unsubscriptable
args = ("'NoneType' object is unsubscriptable",)
message = "'NoneType' object is unsubscriptable"
Danke schonmal
mintpc