HTML and CSS Reference
In-Depth Information
2.7.9 Datenbank-Queries
Wir haben in den vorangegangenen Beispielen bereits oft davon gesprochen, dass die UI
aktualisiert wird. In diesem Beispiel bedeutet das, dass sämtliche Notizen sortiert nach
Datum aus der Datenbank geholt und angezeigt werden müssen. Schauen wir uns also
dieses SELECT -Statement genauer an und werfen wir auch einen Blick darauf, wie das
SQLResult -Objekt die Daten unserer Abfrage enthält:
var statementErrorCallback ...
db.transaction(function(t){
t.executeSql('SELECT * FROM notes ORDER BY date DESC;', null,
function(transaction, resultSet){
var i, row, id, note, date;
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
}
}, statementErrorCallback);
});
Zunächst wird folgendes SELECT -Statement ausgeführt, wodurch alle Zeilen der notes -
Tabelle für unser Ergebnis selektiert werden:
SELECT * FROM notes ORDER BY date DESC;
Da wir keine Platzhalter verwenden, muss auch kein zweiter Parameter mit den Erset-
zungen angegeben werden. Der zweite Parameter ist also somit null.
Spannend ist nun das statementSuccessCallback , da wir für das SQLResultSet -
Objekt zum ersten Mal die Daten unserer Abfrage erwarten können. Das SQLResultSet -
Objekt wird wie folgt definiert:
interface SQLResultSet {
readonly attribute long insertId;
readonly attribute long rowsAffected;
readonly attribute SQLResultSetRowList rows;
};
interface SQLResultSetRowList {
readonly attribute unsigned long length;
getter any item(in unsigned long index);
};
Das Attribut rows zeigt auf ein weiteres Objekt vom Typ SQLResultSetRowList . Dies
ist das eigentliche Objekt, das unsere Daten enthält. Da das Ergebnis einer SQL-Data-
Search WWH ::




Custom Search