Pacchetto | flash.data |
Classe | public class SQLStatement |
Ereditarietà | SQLStatement EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Un'istanza SQLStatement viene collegata a un'istanza SQLConnection impostando l'istanza SQLConnection come valore della proprietà sqlConnection
dell'istanza SQLStatement. La proprietà text
viene compilata con il testo effettivo dell'istruzione SQL da eseguire. Se necessario, i valori dei parametri dell'istruzione SQL vengono specificati mediante la proprietà parameters
e l'istruzione viene eseguita chiamando il metodo execute()
.
Per una descrizione completa del dialetto SQL supportato nei database SQL locali, vedete l'appendice SQL support in local databases (Supporto SQL nei database locali).
In modalità di esecuzione asincrona, i metodi execute()
e next()
vengono eseguiti in background e il runtime invia gli eventi ai listener di eventi registrati o a un'istanza Responder specificata quando le operazioni hanno esito positivo o negativo. In modalità sincrona, i metodi vengono eseguiti nel thread dell'applicazione principale, pertanto non viene eseguito altro codice fino a quando non vengono completate le operazioni del database. Inoltre, se in modalità sincrona i metodi hanno esito negativo, il runtime genera un'eccezione anziché inviare un evento di errore.
Altri esempi
Manipolazione dei dati dei database SQL
Utilizzo delle istruzioni SQL
Recupero dei dati da un database
Strategie per l'utilizzo dei database SQL
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
executing : Boolean [sola lettura]
Indica se l'istruzione è attualmente in esecuzione. | SQLStatement | ||
itemClass : Class
Indica una classe (tipo di dati) che viene utilizzata da ciascuna riga restituita come risultato dell'esecuzione dell'istruzione. | SQLStatement | ||
parameters : Object [sola lettura]
Funge da array associativo al quale potete aggiungere valori per i parametri specificati per l'istruzione SQL nella proprietà text. | SQLStatement | ||
sqlConnection : SQLConnection
L'oggetto SQLConnection che gestisce la connessione a uno o più database su cui l'istruzione viene eseguita. | SQLStatement | ||
text : String
Il testo SQL effettivo dell'istruzione. | SQLStatement |
Metodo | Definito da | ||
---|---|---|---|
Crea un'istanza SQLStatement. | SQLStatement | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento. | EventDispatcher | ||
Annulla l'esecuzione di questa istruzione. | SQLStatement | ||
Cancella tutte le impostazioni di parametro correnti. | SQLStatement | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Esegue il codice SQL nella proprietà text sul database connesso all'oggetto SQLConnection nella proprietà sqlConnection. | SQLStatement | ||
Fornisce accesso a un oggetto SQLResult contenente i risultati dell'esecuzione di un'istruzione, comprese le righe dei risultati di un'istruzione SELECT e altre informazioni sull'esecuzione per tutte le istruzioni eseguite. | SQLStatement | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Recupera la porzione successiva di un set di risultati dell'istruzione SELECT. | SQLStatement | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
Evento | Riepilogo | Definito da | ||
---|---|---|---|---|
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo. | EventDispatcher | |||
[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato inattivo. | EventDispatcher | |||
Inviato quando si verifica un errore durante un'operazione. | SQLStatement | |||
Inviato quando una chiamata al metodo execute() o next() ha esito positivo. | SQLStatement |
executing | proprietà |
executing:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Indica se l'istruzione è attualmente in esecuzione.
Questa proprietà è true se è stata effettuata una chiamata a execute()
e non tutti i risultati sono stati restituiti dal database.
Implementazione
public function get executing():Boolean
Elementi API correlati
itemClass | proprietà |
itemClass:Class
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Indica una classe (tipo di dati) che viene utilizzata da ciascuna riga restituita come risultato dell'esecuzione dell'istruzione.
Per impostazione predefinita, ogni riga restituita da un'istruzione SELECT
viene creata sotto forma di istanza Object, con i nomi della colonna del set di risultati utilizzati come nomi delle proprietà dell'oggetto e il valore di ogni colonna come valore della proprietà associata.
Se si specifica una classe per la proprietà itemClass
, ogni riga restituita da un'istruzione SELECT
eseguita da questa istanza SQLStatement viene creata sotto forma di istanza della classe definita. A ogni proprietà dell'istanza itemClass
viene assegnato il valore della colonna che ha lo stesso nome della proprietà.
Ogni classe assegnata a questa proprietà deve avere una funzione di costruzione che non richieda alcun parametro. Inoltre, per ogni colonna della classe restituita dall'istruzione SELECT
deve essere presente una sola proprietà. Viene considerato un errore il caso in cui a una colonna dell'elenco SELECT
non corrisponda un nome di proprietà nella classe itemClass
.
Implementazione
public function get itemClass():Class
public function set itemClass(value:Class):void
Altri esempi
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
itemClass
per fare in modo che il runtime crei delle istanze di una classe personalizzata dai risultati dell'istruzione SQL SELECT
.
// Employee class definition package { public class Employee { public var name:String; public var ssn:String; public var id:uint; public override function toString():String { return "id: "+ id.toString() + " name: " + name + " ssn: " + ssn; } } } // using the Employee class as SQLStatement.itemClass var conn:SQLConnection; var dbStatement:SQLStatement; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; dbStatement.itemClass = Employee; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { dbStatement.addEventListener(SQLEvent.RESULT, resultHandler); dbStatement.execute(); } function resultHandler(event:SQLEvent):void { var result:SQLResult = dbStatement.getResult(); if (result != null) { var emp:Employee; var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { emp = result.data[i]; trace(emp.toString()); } } }
parameters | proprietà |
parameters:Object
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Funge da array associativo al quale potete aggiungere valori per i parametri specificati nella proprietà text
dell'istruzione SQL. Le chiavi dell'array sono i nomi dei parametri. Se nel testo dell'istruzione viene specificato un parametro senza nome, la relativa chiave è l'indice del parametro.
Nel testo di un'istruzione SQL, un parametro viene indicato con uno dei caratteri seguenti: "?", ":" o "@".
I token ":" e "@" indicano un parametro con nome; i caratteri che seguono il token definiscono il nome del parametro.
Ad esempio, nell'istruzione SQL seguente, viene specificato un parametro di nome firstName
mediante il carattere ":":
SELECT FROM employees WHERE firstName = :firstName
Il token "?" indica un parametro indicizzato (numerato); a ogni parametro viene automaticamente assegnato un indice in base alla sequenza di parametri nel testo dell'istruzione. I valori di indice del parametro hanno base zero. In altre parole, il primo indice del parametro è 0.
I parametri vengono utilizzati per consentire la sostituzione con tipo di valori che sono sconosciuti al momento della costruzione dell'istruzione SQL. L'utilizzo dei parametri è l'unico modo per garantire la classe di archiviazione per un valore passato al database. Quando non vengono utilizzati i parametri, tutti i valori vengono convertiti dalla relativa rappresentazione sotto forma di testo a una classe di archiviazione basata sull'affinità di tipo della colonna associata. Per maggiori informazioni sulle classi di archiviazione e l'affinità delle colonne, vedete la sezione Supporto per i tipi di dati nell'appendice Supporto SQL nei database locali.
I parametri vengono utilizzati anche come misura di sicurezza, per impedire un attacco dannoso noto come iniezione SQL. In un attacco iniezione SQL, un utente immette del codice SQL in una posizione a cui l'utente ha accesso (ad esempio, un campo di immissione dati). Se il codice dell'applicazione costruisce un'istruzione SQL concatenando direttamente l'input da parte dell'utente nel testo SQL, il codice SQL immesso dall'utente viene eseguito sul database. L'elenco seguente mostra un esempio di concatenazione dell'input da parte dell'utente nel testo SQL. Non utilizzate questa tecnica:
// assume the variables "username" and "password" // contain user-entered data var sql:String = "SELECT userId " + "FROM users " + "WHERE username = '" + username + "' " + " AND password = '" + password + "'"; var statement:SQLStatement = new SQLStatement(); statement.text = sql;
L'utilizzo dei parametri di istruzione anziché la concatenazione di valori immessi dall'utente nel testo di un'istruzione impedisce un attacco di iniezione SQL, poiché i valori dei parametri vengono trattati esplicitamente come valori sostituiti anziché diventare parte del testo dell'istruzione letterale. Di seguito è riportata l'alternativa consigliata all'elenco precedente:
// assume the variables "username" and "password" // contain user-entered data var sql:String = "SELECT userId " + "FROM users " + "WHERE username = :username " + " AND password = :password"; var statement:SQLStatement = new SQLStatement(); statement.text = sql; // set parameter values statement.parameters[":username"] = username; statement.parameters[":password"] = password;
Tutti i valori di parametro devono essere impostati prima che venga eseguita l'istruzione. I valori di parametro specificati nell'array parameters
vengono associati (cioè combinati con il testo dell'istruzione) quando viene chiamato il metodo execute()
. Una volta effettuata la chiamata a execute()
, tutte le successive modifiche apportate ai valori non vengono applicate all'istruzione in esecuzione. Tuttavia, alla successiva chiamata a execute()
vengono utilizzati i valori modificati. Se il testo dell'istruzione include un parametro per cui non è specificato un valore nella proprietà parameters
, viene generato un errore.
Per cancellare tutti i valori di parametro dalla proprietà parameters
, utilizzate il metodo clearParameters()
.
Implementazione
public function get parameters():Object
Altri esempi
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
:firstName
, in un'istruzione SQL.
// employees is a SQLStatement instance employees.text = "SELECT FROM employees WHERE first = :firstName"; employees.parameters[":firstName"] = "Sam"; employees.execute();
// employees is a SQLStatement instance employees.text = "SELECT FROM employees WHERE first = ?"; employees.parameters[0] = "Sam"; employees.execute();
sqlConnection | proprietà |
sqlConnection:SQLConnection
Versioni runtime: | AIR 1.0 |
L'oggetto SQLConnection che gestisce la connessione a uno o più database su cui l'istruzione viene eseguita.
Implementazione
public function get sqlConnection():SQLConnection
public function set sqlConnection(value:SQLConnection):void
Genera
IllegalOperationError — Quando si tenta di modificare il valore di questa proprietà mentre l'istruzione è in esecuzione.
|
text | proprietà |
text:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Il testo SQL effettivo dell'istruzione.
Il testo può essere costituito da qualunque SQL supportato. Per una descrizione completa del dialetto SQL supportato nei database SQL locali, vedete l'appendice Supporto SQL nei database locali.
Implementazione
public function get text():String
public function set text(value:String):void
Genera
IllegalOperationError — Quando viene effettuato un tentativo di modificare la proprietà text mentre l'istruzione è in esecuzione.
|
SQLStatement | () | Funzione di costruzione |
public function SQLStatement()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Crea un'istanza SQLStatement.
Genera
SecurityError — Se chiamate la funzione di costruzione da qualunque sandbox al di fuori della sandbox dell'applicazione principale.
|
cancel | () | metodo |
public function cancel():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Annulla l'esecuzione di questa istruzione. Come per SQLConnection.cancel()
, questo metodo viene utilizzato per interrompere una query dall'esecuzione lunga o per annullare una query che non è ancora stata completata. Tuttavia, a differenza di SQLConnection.cancel()
, questo metodo annulla solo la singola istruzione. Se l'istruzione non è al momento in esecuzione, la chiamata a questo metodo non esegue alcuna operazione.
Non viene inviato alcun evento in risposta al completamento dell'operazione cancel()
. Tuttavia, una volta completata l'operazione cancel()
e annullata l'esecuzione dell'istruzione, l'istanza SQLStatement invia un evento error
che indica che l'esecuzione dell'istruzione (la chiamata a execute()
o next()
) non è stata completata. In alternativa, se è stato specificato un valore per il parametro responder
della chiamata a execute()
o next()
, viene chiamato il metodo del gestore errori specificato. In entrambi i casi, l'istanza SQLError che viene passata ai listener ha una proprietà errorID
con valore 3118 (Operazione annullata).
clearParameters | () | metodo |
public function clearParameters():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Cancella tutte le impostazioni di parametro correnti.
Elementi API correlati
execute | () | metodo |
public function execute(prefetch:int = -1, responder:Responder = null):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Esegue il codice SQL nella proprietà text
sul database connesso all'oggetto SQLConnection nella proprietà sqlConnection
.
Se l'argomento responder
non è null
, l'oggetto Responder specificato designa i metodi che vengono chiamati per gestire i risultati dell'operazione. Se l'argomento responder
è null
, in modalità di esecuzione asincrona viene inviato un evento result
, se l'operazione ha avuto esito positivo, oppure un evento error
, se l'operazione ha avuto esito negativo.
Per accedere ai risultati di un'istruzione, ad esempio le righe dei risultati di un'istruzione SELECT
o la chiave primaria di un'istruzione INSERT
generata dal database, chiamate il metodo getResult()
. I risultati sono disponibili immediatamente dopo l'esecuzione dell'istruzione in modalità sincrona e quando viene inviato l'evento result
in modalità asincrona.
Ogni istruzione deve essere preparata (compilata) prima di essere eseguita. La prima volta che viene chiamato il metodo execute()
di un'istruzione SQLStatement, l'istruzione viene preparata dal runtime. Una volta preparata, l'istruzione non deve essere preparata di nuovo a meno che non venga modificata la proprietà text
. L'impostazione di uno o più valori di parametro non richiede una nuova preparazione dell'istruzione.
Parametri
prefetch:int (default = -1 ) — Quando la proprietà text dell'istruzione è un'istruzione SELECT , questo valore indica quante righe vengono restituite contemporaneamente dall'istruzione. Il valore predefinito è -1, che indica che tutte le righe dei risultati vengono restituite contemporaneamente. Questo parametro viene utilizzato in combinazione con il metodo next() per suddividere i gruppi di risultati di grandi dimensioni in gruppi di dati più piccoli. Ciò può migliorare la percezione da parte degli utenti delle prestazioni dell'applicazione, restituendo i risultati iniziali più velocemente e suddividendo le operazioni di elaborazione dei risultati.
Quando l'istruzione SQL è una query | |
responder:Responder (default = null ) — Un oggetto che definisce i metodi da chiamare quando l'operazione ha esito positivo o negativo. In modalità di esecuzione asincrona, se l'argomento responder è null , viene inviato un evento result o error quando l'esecuzione viene completata.
|
Eventi
result: — Inviato quando l'esecuzione dell'istruzione ha esito positivo o quando viene specificato un valore dell'argomento prefetch e un'istruzione SELECT restituisce una o più righe di dati.
| |
error: — Inviato quando l'operazione ha esito negativo in modalità di esecuzione asincrona.
|
Genera
IllegalOperationError — Se la proprietà text è null o contiene una stringa vuota ("" ); se la proprietà sqlConnection non è impostata; se l'istanza SQLConnection assegnata alla proprietà sqlConnection non è connessa; o se l'istruzione è al momento in esecuzione.
| |
SQLError — Se l'operazione ha esito negativo in modalità di esecuzione sincrona.
|
Altri esempi
Recupero parziale dei risultati SELECT
Inserimento dei dati
Modifica ed eliminazione dei dati
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
var conn:SQLConnection; var dbStatement:SQLStatement; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { dbStatement.addEventListener(SQLEvent.RESULT, resultHandler); dbStatement.addEventListener(SQLErrorEvent.ERROR, errorHandler); dbStatement.execute(); } function resultHandler(event:SQLEvent):void { var result:SQLResult = dbStatement.getResult(); if (result != null) { var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { var row:Object = result.data[i]; trace("id:", row.id, ", name:", row.name, ", ssn:", row.ssn); } } } function errorHandler(event:SQLErrorEvent):void { trace("An error occured while executing the statement."); }
var conn:SQLConnection; var dbStatement:SQLStatement; var employeeResponder:Responder; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { employeeResponder = new Responder(resultHandler, errorHandler); dbStatement.execute(-1, employeeResponder); } function resultHandler(result:SQLResult):void { if (result != null) { var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { var row:Object = result.data[i]; trace("id:", row.id, ", name:", row.name, ", ssn:", row.ssn); } } } function errorHandler(error:SQLError):void { trace("An error occured while executing the statement."); }
getResult | () | metodo |
public function getResult():SQLResult
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Fornisce accesso a un oggetto SQLResult contenente i risultati dell'esecuzione di un'istruzione, comprese le righe dei risultati di un'istruzione SELECT
e altre informazioni sull'esecuzione per tutte le istruzioni eseguite. In modalità di esecuzione asincrona, le informazioni sui risultati non sono disponibili fino a quando non viene inviato l'evento result
.
Quando viene eseguita un'istruzione SELECT
, se il metodo execute()
viene chiamato con l'argomento prefetch
predefinito -1, l'oggetto SQLResult restituito contiene l'intero set di risultati della query.
Quando specificate un argomento prefetch
per una chiamata a un metodo execute()
o next()
, il metodo getResult()
si comporta come una coda di risultati in cui il primo elemento in entrata è il primo in uscita. Ogni volta che viene inviato l'evento result
, un nuovo oggetto SQLResult viene aggiunto alla coda. Ogni volta che viene chiamato il metodo getResult()
, il primo oggetto SQLResult (cioè quello aggiunto per primo alla coda) viene restituito e rimosso dalla coda. Quando nella coda non rimane più alcun oggetto SQLResult, getResult()
restituisce null
.
A meno che non vengano rimossi chiamando getResult()
, gli oggetti SQLResult rimangono nella coda. Ad esempio, se chiamate più volte il metodo execute()
senza chiamare getResult()
, gli oggetti SQLResult associati a ogni chiamata execute()
rimangono nella coda.
SQLResult — Un oggetto SQLResult che contiene il risultato di una chiamata al metodo execute() o next() .
|
Altri esempi
Recupero della chiave primaria generata dal database di una riga inserita
Elementi API correlati
next | () | metodo |
public function next(prefetch:int = -1, responder:Responder = null):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Recupera la porzione successiva di un set di risultati dell'istruzione SELECT
. Se nel set di risultati non sono presenti altre righe, viene inviato un evento result
ma non viene aggiunto alcun oggetto SQLResult supplementare alla coda getResult()
.
In modalità di esecuzione asincrona, se l'argomento responder
non è null
l'oggetto Responder specificato indica i metodi che vengono chiamati per gestire i risultati dell'operazione. Se l'argomento responder
è null
, viene inviato un evento result
se l'operazione ha avuto esito positivo oppure un evento error
se l'operazione ha avuto esito negativo.
Questo metodo può essere chiamato solo quando l'istruzione è ancora in fase di esecuzione. Quando l'istruzione è una query SELECT
e viene specificato un argomento prefetch
maggiore di zero, l'istruzione viene considerata in esecuzione fino a quando non viene restituito l'intero set di risultati o non viene chiamato il metodo SQLStatement.cancel()
o SQLConnection.cancel()
.
Parametri
prefetch:int (default = -1 ) — Quando la proprietà text dell'istruzione è un'istruzione SELECT , questo valore indica quante righe vengono restituite contemporaneamente dall'istruzione. Il valore predefinito è -1, che indica che tutte le righe dei risultati vengono restituite contemporaneamente. Ciò può migliorare la percezione da parte degli utenti delle prestazioni dell'applicazione, restituendo i risultati iniziali più velocemente e suddividendo le operazioni di elaborazione dei risultati.
| |
responder:Responder (default = null ) — Un oggetto che definisce i metodi da chiamare quando l'operazione ha esito positivo o negativo. Se l'argomento responder è null , viene inviato un evento result o error quando l'esecuzione viene completata.
|
Eventi
result: — Inviato quando l'esecuzione dell'istruzione ha esito positivo o quando viene specificato un valore dell'argomento prefetch e la chiamata a next() restituisce una o più righe di dati.
| |
error: — Inviato quando l'operazione ha esito negativo in modalità di esecuzione asincrona.
|
Genera
IllegalOperationError — Quando il metodo viene chiamato mentre l'istruzione non è al momento in esecuzione (la proprietà executing è false ).
| |
SQLError — Se l'operazione ha esito negativo in modalità di esecuzione sincrona.
|
Altri esempi
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
complete
di SQLResult e, se non sono state recuperate tutte le righe, chiama il metodo next()
.
var conn:SQLConnection; var dbStatement:SQLStatement; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { dbStatement.addEventListener(SQLEvent.RESULT, resultHandler); dbStatement.addEventListener(SQLErrorEvent.ERROR, errorHandler); dbStatement.execute(10); } function resultHandler(event:SQLEvent):void { var result:SQLResult = dbStatement.getResult(); if (result != null) { var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { var row:Object = result.data[i]; trace("id:", row.id, ", name:", row.name, ", ssn:", row.ssn); } if (!result.complete) { dbStatement.next(10); } } } function errorHandler(event:SQLErrorEvent):void { trace("An error occured while executing the statement."); }
error | Evento |
flash.events.SQLErrorEvent
proprietà SQLErrorEvent.type =
flash.events.SQLErrorEvent.ERROR
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Inviato quando si verifica un errore durante un'operazione.
La costanteSQLErrorEvent.ERROR
definisce il valore della proprietà type
di un evento error inviato quando una chiamata al metodo di un'istanza SQLConnection o SQLStatement si conclude con un errore. L'evento error
ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
error | Un oggetto SQLError che contiene informazioni dettagliate sul tipo di errore che si è verificato e sull'operazione che lo ha provocato. |
currentTarget | L'oggetto che elabora attivamente l'oggetto event con un listener di eventi. |
target | L'oggetto SQLConnection o SQLStatement che segnala l'errore. |
Elementi API correlati
result | Evento |
flash.events.SQLEvent
proprietà SQLEvent.type =
flash.events.SQLEvent.RESULT
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Inviato quando un'operazione di una chiamata al metodo execute()
o next()
ha esito positivo. Quando l'evento result
viene inviato, è possibile chiamare il metodo getResult()
per recuperare i risultati dell'istruzione.
SQLEvent.RESULT
definisce il valore della proprietà type
di un oggetto evento result
. Indica se il metodo SQLStatement.execute()
o SQLStatement.next()
è stato portato a termine correttamente. Una volta inviato l'evento SQLEvent.RESULT
, potete chiamare il metodo SQLStatement.getResult()
per accedere ai dati dei risultati. L'evento result
ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto event con un listener di eventi. |
target | L'oggetto SQLStatement che ha eseguito l'operazione. |
Elementi API correlati
Tue Jun 12 2018, 02:44 PM Z