Zum Inhalt springen
Der Guide für ein smartes Leben.
Offline online sein mit Google Gears

Teil 2: [Workshop] Google Gears: Dynamische Inhalte offline zur Verfügung stellen

Autoren: Redaktion pcmagazin und Andreas Hitzig • 11.12.2009 • ca. 2:00 Min

Mit insert wird ein neuer Datensatz in die Datenbank im_dbtab geschrieben - die Fragezeichen repräsentieren die zuvor definierten Spalten der Datenbank. Zum Zugriff auf die Datenbank benötigen Sie einen ResultSet, in welchem die Ergebnisse der Datenbank-Abfrage geschrieben werden. Die Datenban...

Mit insert wird ein neuer Datensatz in die Datenbank im_dbtab geschrieben - die Fragezeichen repräsentieren die zuvor definierten Spalten der Datenbank.

Zum Zugriff auf die Datenbank benötigen Sie einen ResultSet, in welchem die Ergebnisse der Datenbank-Abfrage geschrieben werden.

Die Datenbanksätze werden über die while-Schleife schrittweise abgearbeitet. Das erste Beispiel beschränkt sich darauf, die Inhalte als Popup auszugeben und die Verbindung anschließend wieder abzubauen.

Datenbank-Inhalte überprüfen

Google bietet auch ein einfaches Tool an, mit dem Sie sich Ihre Datenbank-Inhalte betrachten können. Dieses ist Bestandteil des Sample-and-Tools-Pakets, welches Sie ebenfalls unter den Ressourcen und Tools () im Bereich Gears finden.

Nach dem Entpacken finden Sie im Verzeichnis tools die HTML-Seite dbquery.html. Rufen Sie diese auf und geben Sie den Datenbank-Namen im_test an. Anschließend können Sie wie gewohnt einen SQL-Befehl absenden, also beispielsweise select * from dbTest für die komplette Darstellung des Inhalts Ihrer ersten Tabelle.Als Basis arbeitet bei Gears eine SQLite-Datenbank, welche lokal auf dem Computer bei dem ersten Aufruf von der Google Seite installiert wird. Die Dokumentation von SQLite inklusive des Befehlsvorrats finden Sie online unter .

Google Gears
Mit einfachen Mitteln lassen sich die Datensätze aus der Gears-Datenbank auslesen.
© Archiv

Datenbank-Operationen

Für die Kommunikation mit der Datenbank steht Ihnen eine Reihe von Methoden zur Verfügung, die in der Klasse Database gekapselt sind. Wie Sie bereits im Beispiel gesehen haben, wird eine Verbindung zu einer Datenbank über den Methode open() geöffnet.

Sie müssen beim Öffnen der Datenbank keinen Namen angeben - in diesem Fall wird ein nicht benanntes Objekt angelegt, auf dem Sie jedoch auch ohne weitere Einschränkungen für diese Session agieren können.SQL-Abfragen an die Datenbank führen Sie über die Methode execute() aus. Dabei ist es irrelevant, ob es sich um ein Update, Insert oder Delete handelt. Die Methode umfasst das SQL-Statement und Parameter für den SQL-Befehl.

Google Gears
Mit dem Query-Tool können Sie sich schnell einen Überblick über den Tabelleninhalt verschaffen.
© Archiv
resultSet = db.execute ('INSERT INTO
dbTest1 VALUES (?, ?, ?) WHERE id=?',[1, 2, 'drei vier', 5]);

Wenn Sie die Befehlszeile umwandeln, kommt somit der folgende Insert-Befehl als Ergebnis heraus:

INSERT INTO dbTest1 VALUES
(1, 2, "drei vier") WHERE id=5

Die beiden letzten Methoden besitzen keine Übergabeparameter: close() schließt die aktuelle Verbindung zur Datenbank und remove() schließt die aktuell geöffnete Datenbank und löscht sie anschließend. Neben den Methoden besitzt die Klasse zusätzlich zwei Attribute: Über rowsAffected erfahren Sie, wie viele Datensätze von Ihrer letzten Aktion betroffen waren, lastInsert RowID liefert die Zeilen-ID des Datensatzes, den Sie zuletzt eingefügt haben.

Navigieren in der Ergebnismenge

Die Ergebnisse einer Abfrage werden - wie gezeigt - in einem ResultSet gespeichert. Die Klasse beinhaltet die Methode next() zum Ansteuern des nächsten Datensatzes und close() zum Abbau der Verknüpfung zur Ergebnismenge. Zum Umgang mit den Feldern und deren Inhalten gibt es noch die Methoden fieldCount(), fieldName(), field() und fieldByName().