Datenbanken

Modul Import: from dbtable import *

Befehl Aktion
tbl = DbTable(fieldname1, fieldname2,...) erzeugt ein Tabellenobjekt mit beliebig vielen Feldnamen (als String). Die Feldnamen können in ein Tupel gepackt sein
tbl.insert(value1, value2,...) fügt eine Zeile mit den gegebenen Werten in die Tabelle. Erlaubte Datentypen: str, int, float). Es müssen die Werte aller Felder angegeben werden. Aus der zuerst eingegenen Zeile wird der Datentyp der Felder bestimmt
tbl.printTable(sortAttr = None, ascending = True) schreibt alle Datensätze der Tabelle im Ausgabefenster aus. Wird Sortierattribut angegeben, so werden die Zeilen in der Sortierreihenfolge zurückgegeben (standardmässig: aufsteigend, mit ascending = False: absteigend)
tbl.getTable(sortAttr = None, ascending = True) dasselbe, aber die Datensätze werden als Liste zurückgegeben
tbl.printSelection(pattern, sortAttr = None, ascending = True)

schreibt alle Datensätze im Ausgabefenster aus, welche eine Bedingung erfüllen. pattern ist eine Sequenz mit Gleichheitsbedingungen attribute = wert. Falls ein Attribut fehlt, erfüllen alle Werte die Bedingung. Beispiel: select("name", "vorname", "alter", name = "Meyer", vorname = "Hans") gibt die Felder "name", "vorname" und "alter" aller "Meyer Hans" zurück.

Wird Sortierattribut angegeben, so werden die Zeilen in der Sortierreihenfolge zurückgegeben (standardmässig: aufsteigend, mit ascending = False: absteigend)

tbl.getSelection(pattern, sortAttr = None, ascending = True) dasselbe, aber die Datensätze werden als Liste zurückgegeben
tbl.delete(pattern) löscht alle Zeilen, welche die Gleichheitsbedingungen in pattern erfüllen (wie bei select()). Beispiel: delete(name = "Meyer", vorname = "Hans" löscht alle Zeilen mit Meyer Hans.
tbl.update(pattern)(fieldname1 = value1, fieldname2 = value2,...) ersetzt die Werte der gegebenen Feldnamen. pattern ist wie in select() definiert. Beispiel: update(name = "Meyer", vorname = "Hans")(wohnort = "Basel") setzt den Wohnort aller "Meyer Hans" auf "Basel"
DbTable.save(databaseName)

speichert die Datensätze in einer SQLite-Datenbank mit gegebenen Dateinamen auf dem lokalen Rechner

DbTable.restore() holt die im Browser mit dem Button 'Datenbank' angegebene SQLite-Datenbank zurück. Es muss nachher ein DbTable-Objekt mit dem ursprünglichen Tabellennamen erzeugt werden. Die Attribute werden automatisch wiederhergestellt

Bemerkung: DbTable verwendet eine temporäre SQLite-Datenbank auf dem Server, in der alle Tabellenoperation durchgeführt werden. Der Aufruf von DbTable.save() öffnet ein FileSave-Dialog, und die Datenbank-Datei wird anschliessend lokal kopiert (wo sich auch mit einem beliebigen SQLite-Datenbankmanager bearbeitet werden kann). DbRestore() kopiert die im Editor gewählte lokale Datenbank-Datei in eine temporäre Serverdatei zurück.