HTML and CSS Reference
In-Depth Information
base zeilenorientiert ist, können wir nun jede Zeile einzeln in einer for -Schleife
abfragen. Um auf die einzelnen Spalten der Zeilen zuzugreifen, kann ganz bequem die
Dot-Notation verwendet werden:
for (i 0; i < resultSet.rows.length; i++)
{
row resultSet.rows.item(i);
id row.id;
note row.note;
date row.date;
//create HTML and update UI
}
2.7.10 Datenlöschen
Um Daten zu löschen, bedienen wir uns des DELETE -Statements. In den meisten Fällen
soll nicht die gesamte Tabelle gelöscht werden, also wird das DELETE -Statement durch
eine WHERE -Klausel eingeschränkt:
db.transaction(function(t){
t.executeSql('DELETE FROM notes WHERE id ?',
[selected],
function(t, resultSet){
//UI aktualisieren
},
statementErrorCallback);
});
2.7.11 Schemamigration
Jede Webanwendung entwickelt sich weiter, und somit können Veränderungen des
Datenbankschemas notwendig sein. Aus diesem Grund hat jede Web-SQL-Database ein
version -Attribut, mit dessen Hilfe zunächst die Version der Datenbank abgefragt wer-
den kann. Die Version ist dabei ein einfacher String, beispielsweise '1.0' .
Wurde die gewünschte Version im openDatabase() -Aufruf weggelassen, wird einfach
die aktuell vorhandene Version der Datenbank geöffnet (oder eine neue Datenbank
zunächst angelegt). Man kann dann über das version -Attribut die Version der aktuell
auf dem Endgerät vorhandenen Datenbank feststellen, und der JavaScript-Code kann
bei Bedarf eine Schemamigration durchführen.
var db openDatabase('notes', '', 'Offline Notes Storage', 5*1024*1024);
var version db.version; //z. B. '1.0'
Folgendes Beispiel demonstriert, wie die Datenbank angelegt wird und nach Bedarf
später aktualisiert werden kann. Wir machen es uns dabei zunutze, dass eine ohne
Version geöffnete Datenbank, sofern sie tatsächlich noch nicht existiert, als Version
Search WWH ::




Custom Search