En enskild SQL-sats (en fråga eller ett kommando) representeras i körningen av ett
SQLStatement
-objekt. Så här skapar och kör du en SQL-sats:
Skapa en SQLStatement-instans.
SQLStatement-objektet representerar SQL-satsen i programmet.
var selectData:SQLStatement = new SQLStatement();
Ange vilken databas frågan ska köras mot.
Det gör du genom att ange SQLStatement-objektets
sqlConnection
-egenskap till
SQLConnection
-instansen som är ansluten till den önskade databasen.
// A SQLConnection named "conn" has been created previously
selectData.sqlConnection = conn;
Ange den faktiska SQL-satsen.
Skapa satstexten som en sträng och tilldela den till SQLStatement-instansens
text
-egenskap.
selectData.text = "SELECT col1, col2 FROM my_table WHERE col1 = :param1";
Definiera funktioner för att hantera resultatet av den åtgärd som har körts (endast asynkront körningsläge).
Använd metoden
addEventListener()
om du vill aktivera funktioner, till exempel avlyssnare för SQLStatement-instansens
result
- och
error
-händelser.
// using listener methods and addEventListener()
selectData.addEventListener(SQLEvent.RESULT, resultHandler);
selectData.addEventListener(SQLErrorEvent.ERROR, errorHandler);
function resultHandler(event:SQLEvent):void
{
// do something after the statement execution succeeds
}
function errorHandler(event:SQLErrorEvent):void
{
// do something after the statement execution fails
}
Alternativt kan du ange lyssnarmetoder med hjälp av ett
Responder
-objekt. I så fall skapar du en Responder-instans och länkar lyssnarmetoderna till den.
// using a Responder (flash.net.Responder)
var selectResponder = new Responder(onResult, onError);
function onResult(result:SQLResult):void
{
// do something after the statement execution succeeds
}
function onError(error:SQLError):void
{
// do something after the statement execution fails
}
Om satstexten innehåller parameterdefinitioner tilldelar du värden för dessa parametrar.
Om du vill tilldela parametervärden använder du SQLStatement-instansens associativa array-egenskap
parameters
.
selectData.parameters[":param1"] = 25;
Kör SQL-satsen.
Anropa SQLStatement-instansens
execute()
-metod.
// using synchronous execution mode
// or listener methods in asynchronous execution mode
selectData.execute();
Om du använder en Responder i stället för händelselyssnare i asynkront körningsläge, skickar du Responder-instansen till
execute()
-metoden.
// using a Responder in asynchronous execution mode
selectData.execute(-1, selectResponder);
Specifika exempel som demonstrerar dessa steg finns i följande avsnitt:
Hämta data från en databas
Infoga data
Ändra eller ta bort data