Bücher online kostenlos Kostenlos Online Lesen
Adobe Air (wiwobooks.com Release)

Adobe Air (wiwobooks.com Release)

Titel: Adobe Air (wiwobooks.com Release) Kostenlos Bücher Online Lesen
Autoren:
Vom Netzwerk:
zurückgegebenen SQLResult -Instanz. Gleichzeitig können Sie mithilfe der boolschen Instanzeigenschaft complete feststellen, ob bereits die komplette Ergebnismenge übermittelt wurde ( true ) oder nicht ( false ). Wenn Sie ein INSERT-, UPDATE- oder DELETE-Statement ausgeführt haben, können Sie mithilfe der SQLResult -Instanzeigenschaft rowsAffected die Anzahl der von der Operation betroffenen Datensätze herausfinden und so feststellen, ob die Operation den gewünschten Erfolg gebracht hat.
13.2 Überlegungen
    Wenn Sie in Ihrer AIR-Anwendung eine lokale Datenbank verwenden wollen, sollten Sie zu Beginn ein paar Überlegungen anstellen, die die Verwendung Ihrer Datenbank betreffen:
    Wie greife ich auf die Datenbank zu: synchron oder asynchron? Wie verarbeite ich die Daten, und wo entstehen bei normaler Nutzung der Datenbanken Engpässe?
Welche Auswirkung hat der Verlust der Internetverbindung auf meine Anwendung?
Müssen beim ersten Start der Datenbanken bereits Daten vorhanden sein, oder beginnt meine Anwendung mit einer leeren Datenbank?
    Beinhaltet die Anwendungs-Datenbank sensible Daten (Benutzerkennungen, Kennwörter etc.), die vor anderen AIR-Datenbanken abgeschirmt werden müssen?
    Die nächsten Abschnitte gehen auf diese Überlegungen ein.
13.2.1 Zugriffsarten
    Wie beim Zugriff auf entfernte Ressourcen oder auf lokale Dateien können Sie auch auf die lokale Datenbank der Anwendung entweder synchron oder asynchron zugreifen. Die zugrunde liegende Problematik entspricht demnach auch der beim Zugriff auf lokale Dateien: Ist die Operation umfangreich, sind Sie in der Regel mit asynchronen Operationen besser bedient, da die Anwendung bei synchronem Zugriff so lange anhält, bis die Operation abgeschlossen ist, und somit bei längeren Operationen wie »eingefroren« erscheinen könnte.
    Beim Zugriff auf eine SQLite-Datenbank in AIR erfolgt die Entscheidung für den Zugriffsmodus beim Öffnen der Datenbankverbindung. Die SQLConnection zu einer Datenbank verfügt hierzu über die beiden Methoden open() und openAsync() für synchronen bzw. asynchronen Zugriff. Die Herangehensweise bei synchronem Zugriff entspricht der gewohnten bei Zugriffen auf Remote-Inhalte oder lokale Dateien: Sie führen alle Operationen, die zu einem Fehler führen könnten, in einem try -Block aus und fangen auftauchende Fehler (in diesem Fall SQLError ) mit einem catch -Block ab. In Pseudocode sieht das so aus:
    try {
// synchrone Datenbankoperation
}
catch(e:SQLError) {
// Fehlerbehandlung
}
    In Kapitel 12, »Dateisystem«, haben Sie überwiegend Beispiele für synchronen Zugriff gefunden. Dieses Kapitel widmet sich hingegen überwiegend Beispielen für asynchronen Zugriff auf die Datenbank.
    Responder-Objekte
    Zusätzlich zur asynchronen Ausführung von Datenbankoperationen mit Ereignis-Listenern gibt es noch die Möglichkeit, auf ein Responder -Objekt zurückzugreifen, um die Funktion zu bestimmen, die im Erfolgs- bzw. Fehlerfall ausgeführt werden soll. Eine Responder -Instanz verfügt im Konstruktor als ersten Parameter über den Namen der im Erfolgsfall, als zweiten den der im Fehlerfall auszuführenden Funktion. Auf die Responder -Klasse und ihre Anwendung wird in diesem Buch nicht näher eingegangen. Wenn Sie hierzu Näheres wissen wollen, konsultieren Sie bitte die Online-Dokumentation von Flex- oder Flash-ActionScript.
13.2.2 Optimierung der Datenbank
    Wenn Sie eine sehr datenintensive Anwendung programmieren, liegt das Optimierungspotenzial sicherlich zunächst in den Zugriffen und SQL-Statements selbst. Es gibt ein paar grundsätzliche Rezepte, wie Sie Ihre lokale Datenbank knackig performant halten können. Wenn Sie sich vor Augen führen, was bei dateibasierten Datenbanken beim Abruf und Schreiben von Daten vor sich geht, wird das Optimierungspotenzial deutlich: Der Zugriff auf den Datenträger stellt in der Regel die zeitaufwendigste Datenbankoperation dar.
    Transaktionen
    Insbesondere wenn Sie mehrere aufeinanderfolgende SQL-Statements zur Datenmanipulation verwenden, die Daten erstellen oder verändern – also INSERT- oder UPDATE-Statements –, können Sie teils erhebliche Performancegewinne erzielen, wenn Sie Transaktionen verwenden. Darunter sind logisch zusammenhängende, meist aufeinander aufbauende Datenbankoperationen zu verstehen. Ohne explizit begonnene Transaktion wird AIR bei jeder Transaktion implizit eine Transaktion erstellen (die dann folglich nur aus dem jeweils anstehenden Statement besteht) und die

Weitere Kostenlose Bücher