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:
handleError(e:SQLErrorEvent):void { // Fehlerbehandlung
}
    Listing 13.10 Beispiel: Ergebnis-Typzuweisung
13.6.4 Daten einfügen
    Zum Einfügen neuer Daten in eine Datenbanktabelle dient das INSERT-Statement. Den zu bestimmenden Spalten des neuen Datensatzes werden die neuen Werte zugewiesen, nicht angeführte Werte erhalten den in der Datentabelle vorgegebenen Standardwert oder, wenn dieser nicht angegeben ist, den Wert 0 :
    INSERT INTO main.myTable (name, zahl) VALUES ('Pfeiffer', 4)
    Verläuft der Einfügevorgang erfolgreich, wird das Ereignis SQLEvent.RESULT ausgelöst und in der SQLResult -Instanz, die das Ergebnis repräsentiert, wird in der Eigenschaft rowsAffected die Anzahl der betroffenen (= eingefügten) Zeilen zurückgegeben (bei einzelnen Einfügungen also der Wert 1 ).
    Lösungsweg
1. Erstellen einer SQLStatement -Instanz
    2. Zuweisen der offenen Datenbankverbindung zur Eigenschaft sqlConnection der SQLStatement -Instanz
3. Asynchroner Zugriff: Registrieren von Event-Listenern für SQLEvent.RESULT und SQLErrorEvent.ERROR
4. Definition des INSERT-Statements als Text und dessen Zuweisung zur Eigenschaft text
5. Bei Verwendung von Parametern: Setzen der Parameter im (assoziativen) Array parameters
6. Aufruf der Methode execute() der SQLStatement -Instanz
7. Abruf des Ergebnisses als SQLResult -Instanz mithilfe der SQLStatement -Instanzmethode getResult() im Ereignis-Listener für SQLEvent.RESULT 8. Auswerten des Ergebnisses mithilfe der SQLResult -Eigenschaft rowsAffected
So geht es
Im folgenden Quelltextausschnitt wird ein Datensatz in die Datenbank test_ table eingefügt:
    import flash.data.SQLConnection;
import flash.data.SQLStatement;
import flash.data.SQLResult;
import flash.events.SQLEvent;
import flash.events.SQLErrorEvent;
var selectStmt:SQLStatement = new SQLStatement(); // myDBConn ist zu diesem Zeitpunkt bereits geöffnet // (hier nicht gezeigt)
    selectStmt.sqlConnection = myDBConn;
selectStmt.addEventListener(SQLErrorEvent.ERROR, handleStmtError); selectStmt.addEventListener(SQLEvent.RESULT, handleStmtResult); var sql:String = "INSERT INTO main.test_table (name, zahl) " +
    "VALUES ('Pfeiffer', 4)";
selectStmt.text = sql;
selectStmt.execute();
    function handleStmtResult(e:SQLEvent):void {
var stmt:SQLStatement = SQLStatement(e.target);
var result:SQLResult = stmt.getResult();
trace(result.rowsAffected + " Datensatz/-sätze eingefügt.");
    }
function handleStmtError(e:SQLErrorEvent):void { trace("Hoppla, da ist bei einem SQL
    Statement etwas schiefgelaufen."); trace("Fehler: " + e.text);
trace("Details: " + e.error.details);
    }
Listing 13.11 Beispiel: Einfügen von Daten in eine Datenbanktabelle
13.6.5 Daten aktualisieren
    Das Aktualisieren von Datensätzen ist dem Einfügen neuer Daten sehr ähnlich. Hier findet das UPDATE-Statement Verwendung. Die zu ändernden Datenfelder werden mit den neuen Werten angegeben, zusätzlich in einer WHERE-Klausel die Bedingung, für welche Datensätze die Änderung gelten soll:
    UPDATE main.myTable SET name = 'Gruber' WHERE name = 'Pfeiffer'
    War der Änderungsvorgang erfolgreich, wird das Ereignis SQLEvent.RESULT ausgelöst und in der Eigenschaft rowsAffected der SQLResult -Instanz wird die Anzahl der betroffenen (= geänderten) Zeilen zurückgegeben.
    Lösungsweg
1. Erstellen einer SQLStatement -Instanz
    2. Zuweisen der offenen Datenbankverbindung zur Eigenschaft sqlConnection der SQLStatement -Instanz
3. Asynchroner Zugriff: Registrieren von Event-Listenern für SQLEvent.RESULT und SQLErrorEvent.ERROR
    4. Definition des UPDATE-Statements als Text und dessen Zuweisung zur Eigenschaft text
5. Bei Verwendung von Parametern: Setzen der Parameter im (assoziativen) Array parameters
    6. Aufruf der Methode execute() der SQLStatement -Instanz
    7. Abruf des Ergebnisses als SQLResult -Instanz mithilfe der SQLStatement -Instanzmethode getResult() im Ereignis-Listener für SQLEvent.RESULT
8. Auswerten des Ergebnisses mithilfe der SQLResult -Eigenschaft rowsAffected
    So geht es
Der folgende Quelltextausschnitt zeigt die Änderung aller Datensätze in der Datenbank test_table , deren Datenfeld name die Zeichenkette Pfeiffer enthält:
    import flash.data.SQLConnection;
import flash.data.SQLStatement;
import flash.data.SQLResult;
import flash.events.SQLEvent;
import flash.events.SQLErrorEvent;
var selectStmt:SQLStatement = new SQLStatement();
// myDBConn ist zu diesem Zeitpunkt bereits geöffnet
// (hier nicht gezeigt)
selectStmt.sqlConnection =

Weitere Kostenlose Bücher