Datenbankanbindung

GameGridP verfügt über eine sqllite-Anbindung. Folgendermaßen kannst du Daten in sqllite speichern:

Tabelle vorbereiten und in Python laden

  1. Erstelle eine Datenbank und lege die Tabellenstruktur an.
Du kannst dafür den DB Browser for sqlite oder Sqlite Studio verwenden.
  1. Deine Klasse muss eine Kindklasse der Klasse DatabaseGrid sein.

Beispiel:

1
class MyGrid(gamegridp.DatabaseGrid, gamegridp.GUIGrid):
  1. Öffne eine Verbindung zur Datenbank.
1
    self.connect("robodatabase.db")

Jetzt kannst du folgendermaßen Daten aus der Datenbank auslesen und in die Datenbank schreiben.

Daten auslesen

Daten kannst du entweder mit der Anweisung self.select_single_row oder mit select_all_rows stellen.

self.select_single_row fragt eine einzelne Zeile aus der Datenbank ab:

1

row = self.select_single_row(‚SELECT id FROM Game ORDER BY id DESC LIMIT 1‘)

fragt z.B. aus der Tabelle GAME die GameID ab. Das Ergebnis wird in einer Liste gespeichert und kann z.B. über

abgefragt werden.

Mit self.select_all_rows können alle Werte einer Abfrage abgefragt werden.

1
rows = self.select_single_row('SELECT id FROM Game ORDER BY id DESC')

Mit folgendem Code kannst du die einzelnen Werte dann weiterverarbeiten

Daten in die Tabelle schreiben

Daten kannst du mit Hilfe der Methode self.insert(Tabelle, Dictionary) einfügen. In dem Dictionary (Eine Datenstruktur vergleichbar mit einem Telefonbuch oder Wörterbuch) werden die Zuordnungen spaltenname : wert gespeichert.

So soll z.B. in Spalte 4 und Zeile 4 der Actor vom Typ Wall mit der ID 1 gespeichert werden:

1
2
3
4
5
6
    dict = {"column":4,
            "row": 4,
            "GameID": 1,
            "Actor" : "Wall
            }
        self.insert("Actors", dict )

Daten übertragen und Verbindung schließen

Zuletzt musst du die Daten in die Datenbank übertragen (committen) und die Verbindung schließen. Dies geht wie folgt:

1
2
    self.commit()
    self.close_connection()