Le istruzioni SQL individuali (le query e i comandi) sono rappresentate nel runtime sotto forma di oggetti
SQLStatement
. Seguite la procedura qui descritta per creare ed eseguire un'istruzione SQL.
Create un'istanza SQLStatement.
L'oggetto SQLStatement rappresenta l'istruzione SQL nell'applicazione in questione.
var selectData:SQLStatement = new SQLStatement();
Specificate l'effettiva istruzione SQL.
Create il testo dell'istruzione come Stringa e assegnatelo alla proprietà
text
dell'istanza SQLStatement.
selectData.text = "SELECT col1, col2 FROM my_table WHERE col1 = :param1";
Definite le funzioni per la gestione del risultato dell'operazione di esecuzione (solo nel caso della modalità di esecuzione asincrona).
Utilizzate il metodo
addEventListener()
per registrare le funzioni come listener degli eventi
result
ed
error
dell'istanza SQLStatement.
// 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
}
In alternativa è possibile specificare metodi listener utilizzando un oggetto
Responder
. In tal caso si crea l'istanza Responder e vi si collegano i metodi listener.
// 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
}
Se il testo dell'istruzione comprende definizioni di parametri, assegnate dei valori a tali parametri.
Per assegnare i valori ai parametri, usate la proprietà di matrice associativa
parameters
dell'istanza SQLStatement.
selectData.parameters[":param1"] = 25;
Eseguite l'istruzione SQL.
Chiamate il metodo
execute()
dell'istanza SQLStatement.
// using synchronous execution mode
// or listener methods in asynchronous execution mode
selectData.execute();
Inoltre, se state utilizzando un Responder invece dei listener degli eventi in modalità di esecuzione asincrona, passate l'istanza Responder al metodo
execute()
.
// using a Responder in asynchronous execution mode
selectData.execute(-1, selectResponder);
Per trovare esempi specifici che illustrano questi passi, consultate i seguenti argomenti.
Recupero dei dati da un database
Inserimento dei dati
Modifica ed eliminazione dei dati