Package | flash.data |
Classe | public class SQLStatement |
Héritage | SQLStatement EventDispatcher Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Une occurrence SQLStatement est reliée à une occurrence SQLConnection en définissant l’occurrence SQLConnection comme valeur de la propriété sqlConnection
de l’occurrence SQLStatement. La propriété text
est renseignée par le véritable texte de l’instruction SQL à exécuter. Si nécessaire, les valeurs des paramètres de l’instruction SQL sont spécifiées à l’aide de la propriété parameters
, et l’instruction est exécutée par un appel à la méthode execute()
.
Pour obtenir une description complète du dialecte SQL pris en charge par les bases de données SQL locales, consultez l’annexe Prise en charge de SQL dans les bases de données locales.
En mode d’exécution asynchrone, les méthodes execute()
et next()
sont exécutées en arrière-plan et l’exécution distribue des événements vers les écouteurs d’événements enregistrés ou vers une occurrence Responder spécifiée lorsque les opérations sont terminées ou échouent. En mode synchrone, les méthodes sont exécutées sur la thread principale de l’application, ce que signifie que aucun autre code ne s’exécute tant que les opérations de la base de données ne sont pas terminées. De plus, en mode synchrone, si la méthode échoue, l’exécution renvoie une exception au lieu de déclencher un événement d’erreur.
Plus d’exemples
Manipulation des données de bases de données SQL
Utilisation des instructions SQL
Récupération de données dans une base de données
Stratégies d’utilisation des bases de données SQL
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
executing : Boolean [lecture seule]
Indique si l’instruction est en cours d’exécution. | SQLStatement | ||
itemClass : Class
Indique une classe (type de données) utilisée pour chaque ligne renvoyée en tant que résultat de l’exécution de l’instruction. | SQLStatement | ||
parameters : Object [lecture seule]
Joue le rôle de tableau associatif dans lequel vous ajoutez des valeurs pour les paramètres spécifiés dans la propriété text de l’instruction SQL. | SQLStatement | ||
sqlConnection : SQLConnection
Objet SQLConnection qui gère la connexion à la ou aux bases de données dans lesquelles l’instruction est exécutée. | SQLStatement | ||
text : String
Véritable texte SQL de l’instruction. | SQLStatement |
Méthode | Défini par | ||
---|---|---|---|
Crée une occurrence SQLStatement. | SQLStatement | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Annule l’exécution de cette instruction. | SQLStatement | ||
Efface tous les paramètres actuels. | SQLStatement | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Exécute l’instruction SQL de la propriété text sur la base de données connectée à l’objet SQLConnection dans la propriété sqlConnection. | SQLStatement | ||
Permet d’accéder à un objet SQLResult contenant les résultats de l’exécution de l’instruction, y compris les lignes de résultat d’une instruction SELECT et d’autres informations sur l’exécution de toutes les instructions exécutées. | SQLStatement | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Récupère la partie suivante d’un jeu de résultats d’une instruction SELECT. | SQLStatement | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
Evénement | Synthèse | Défini par | ||
---|---|---|---|---|
[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active. | EventDispatcher | |||
[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive. | EventDispatcher | |||
Distribué lorsqu’une erreur se produit au cours d’une opération. | SQLStatement | |||
Distribué lorsque l’opération d’un appel de méthode execute() ou next() se termine avec succès. | SQLStatement |
executing | propriété |
executing:Boolean
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Indique si l’instruction est en cours d’exécution.
Cette propriété est true si la méthode execute()
a été appelée et que tous les résultats n’ont pas été renvoyés de la base de données.
Implémentation
public function get executing():Boolean
Eléments de l’API associés
itemClass | propriété |
itemClass:Class
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Indique une classe (type de données) utilisée pour chaque ligne renvoyée en tant que résultat de l’exécution de l’instruction.
Par défaut, chaque ligne renvoyée par une instruction SELECT
est créée en tant qu’occurrence Object, avec les noms de colonnes du jeu de résultats correspondant au nom des propriétés de l’objet, et la valeur de chaque colonne correspondant à la valeur de sa propriété associée.
En spécifiant la classe de la propriété itemClass
, chaque ligne renvoyée par une instruction SELECT
exécutée par cette occurrence SQLStatement et créée sous la forme d’une occurrence de la classe désignée. Chaque propriété de l’occurrence itemClass
se voit affecter la valeur de la colonne portant le même nom que la propriété.
Toute classe affectée à cette propriété doit avoir un constructeur qui ne requiert aucun paramètre. En outre, la classe doit avoir une seule propriété pour chaque colonne renvoyée par l’instruction SELECT
. Le fait qu’une colonne de la liste SELECT
ne présente pas de nom de propriété correspondant dans la classe itemClass
est considéré comme une erreur.
Implémentation
public function get itemClass():Class
public function set itemClass(value:Class):void
Plus d’exemples
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
itemClass
pour que l’exécution crée des occurrences d’une classe personnalisée à partir des résultats de l’instruction 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 | propriété |
parameters:Object
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Joue le rôle de tableau associatif dans lequel vous ajoutez des valeurs pour les paramètres spécifiés dans la propriété text
de l’instruction SQL. Les clés du tableau sont les noms des paramètres. Si un paramètre sans nom est spécifié dans la propriété text de l’instruction, sa clé est l’index du paramètre.
Dans le texte d’une instruction SQL, un paramètre est indiqué avec l’un des caractères suivants : « ? », « : » ou « @ ».
Les jetons « : » et « @ » indiquent un paramètre nommé ; les caractères qui suivent le jeton désignent le nom du paramètre.
Par exemple, dans l’instruction SQL suivante, un paramètre nommé firstName
est spécifié à l’aide du caractère « : » :
SELECT FROM employees WHERE firstName = :firstName
Le jeton « ? » indique un paramètre indexé (numéroté) ; chaque paramètre se voit automatiquement attribué un index en fonction de la séquence des paramètres du texte de l’instruction. Les valeurs d’index des paramètres sont de base zéro. En d’autres termes, le premier index de paramètre est 0.
Les paramètres autorisent la substitution avec type de valeurs inconnues au moment de la construction de l’instruction SQL. L’utilisation des paramètres est le seul moyen de garantir la classe de stockage d’une valeur transmise à la base de données. Lorsque des paramètres ne sont pas utilisés, toutes les valeurs sont converties de leur représentation texte en une classe de stockage en fonction de l’affinité du type de la colonne associée. Pour plus d’informations sur les classes de stockage et l’affinité des colonnes, voir la section « Prise en charge des types de données » dans l’annexe « Prise en charge de SQL dans les bases de données locales ».
Les paramètres sont également utilisés comme mesure de sécurité pour empêcher une technique malveillante appelée attaque par injection de code SQL. Dans une attaque par injection de code SQL, l’utilisateur entre du code SQL dans un emplacement accessible (par exemple dans un champ de saisie de données). Si le code de l’application construit une instruction SQL en concaténant directement la saisie de l’utilisateur dans le texte SQL, le code SQL saisi par l’utilisateur est exécuté sur la base de données. L’exemple suivant illustre la concaténation de la saisie de l’utilisateur dans le texte SQL. N’utilisez pas cette technique :
// 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’utilisation des paramètres d’instruction à la place de la concaténation des valeurs entrées par l’utilisateur dans le texte d’une instruction empêche les attaques par injection de code SQL car les valeurs des paramètres sont traitées explicitement sous forme de valeurs substituées au lieu de devenir une partie du texte de l’instruction littérale. L’exemple suivant est l’alternative recommandée :
// 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;
Toutes les valeurs des paramètres doivent être définies avant l’exécution de l’instruction. Les valeurs des paramètres spécifiés dans le tableau parameters
sont liées (c’est-à-dire combinées avec le texte de l’instruction) lorsque la méthode execute()
est appelée. Après l’appel de la méthode execute()
, les modifications suivantes des valeurs ne sont pas appliquées à l’instruction en exécution. Toutefois, lors des appels consécutifs à execute()
, les valeurs modifiées sont utilisées. Si le texte de l’instruction comprend un paramètre pour lequel aucune valeur n’a été spécifiée dans la propriété parameters
, une erreur se produit.
Pour effacer toutes les valeurs de paramètres de la propriété parameters
, utilisez la méthode clearParameters()
.
Implémentation
public function get parameters():Object
Plus d’exemples
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
:firstName
, dans une instruction 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 | propriété |
sqlConnection:SQLConnection
Versions du moteur d’exécution: | AIR 1.0 |
Objet SQLConnection qui gère la connexion à la ou aux bases de données dans lesquelles l’instruction est exécutée.
Implémentation
public function get sqlConnection():SQLConnection
public function set sqlConnection(value:SQLConnection):void
Valeur émise
IllegalOperationError — Lors d’une tentative de modification de la valeur de cette propriété alors que l’instruction est en cours d’exécution.
|
text | propriété |
text:String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Véritable texte SQL de l’instruction.
Le texte peut être n’importe quel code SQL pris en charge. Pour obtenir une description complète du dialecte SQL pris en charge par les bases de données SQL locales, consultez l’annexe « Prise en charge de SQL dans les bases de données locales ».
Implémentation
public function get text():String
public function set text(value:String):void
Valeur émise
IllegalOperationError — Lors d’une tentative de modification de la valeur de la propriété text alors que l’instruction est en cours d’exécution.
|
SQLStatement | () | Constructeur |
public function SQLStatement()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Crée une occurrence SQLStatement.
Valeur émise
SecurityError — Si le constructeur est appelé à partir d’un sandbox extérieur au sandbox de l’application principale.
|
cancel | () | méthode |
public function cancel():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Annule l’exécution de cette instruction. Comme SQLConnection.cancel()
, cette méthode est utilisée pour interrompre une requête d’exécution longue ou pour annuler une requête qui n’est pas encore terminée. Toutefois, contrairement à SQLConnection.cancel()
, cette méthode n’annule que la seule instruction. Si l’instruction n’est pas en cours d’exécution, l’appel à cette méthode ne donne rien.
Aucun événement n’est déclenché en réponse directe à l’achèvement de l’opération cancel()
. Toutefois, une fois que l’opération cancel()
est terminée et que l’exécution de l’instruction est annulée, l’occurrence SQLStatement déclenche un événement error
qui indique que l’exécution de l’instruction (l’appel execute()
ou next()
) ne s’est pas terminée. Alternativement, si une valeur a été spécifiée pour le paramètre responder
de l’appel execute()
ou next()
, la méthode du gestionnaire de fautes spécifiée est appelée. Dans les deux cas, l’occurrence SQLError transmise aux écouteurs présente une propriété errorID
avec la valeur 3118 (Opération annulée).
clearParameters | () | méthode |
public function clearParameters():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Efface tous les paramètres actuels.
Eléments de l’API associés
execute | () | méthode |
public function execute(prefetch:int = -1, responder:Responder = null):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Exécute l’instruction SQL de la propriété text
sur la base de données connectée à l’objet SQLConnection dans la propriété sqlConnection
.
Si l’argument responder
n’est pas null
, l’objet Responder spécifié désigne les méthodes appelées pour gérer les résultats de l’opération. Lorsque l’argument responder
est défini sur null
en mode d’exécution asynchrone, un événement result
est distribué si l’opération aboutit, ou un événement error
si l’opération échoue.
Pour accéder aux résultats d’une instruction, notamment aux lignes de résultats d’une instruction SELECT
ou à la clé primaire générée via la base de données d’une instruction INSERT
, appelez la méthode getResult()
. Ces résultats sont disponibles immédiatement après l’exécution de l’instruction en mode synchrone et lors de la distribution de l’événement result
en mode asynchrone.
Chaque instruction doit être préparée (compilée) avant de pouvoir être exécutée. Lors du premier appel de la méthode execute()
de l’occurrence SQLStatement, l’instruction est préparée par le moteur d’exécution. Une fois qu’une instruction est préparée, elle n’a pas besoin de l’être à nouveau sauf si la propriété text
change. La définition d’une ou plusieurs valeurs de paramètres n’entraîne pas la nécessité de préparer de nouveau l’instruction.
Paramètres
prefetch:int (default = -1 ) — Lorsque la propriété text de l’instruction est une instruction SELECT , cette valeur indique le nombre de lignes renvoyées en une seule fois par l’instruction. La valeur par défaut est -1, indiquant que toutes les lignes du résultat sont renvoyées en une seule fois. Ce paramètre est utilisé en combinaison avec la méthode next() pour diviser les grands jeux de résultats en jeux de données plus petits. L’utilisateur peut ainsi mieux percevoir les performances de l’application, car les résultats initiaux sont renvoyés plus rapidement et les opérations de traitement des résultats sont divisées.
Lorsque l’instruction SQL est une requête | |
responder:Responder (default = null ) — Objet qui désigne les méthodes à appeler lorsque l’opération réussit ou échoue. En mode d’exécution asynchrone, si l’argument responder est null , un événement result ou error est distribué lorsque l’exécution se termine.
|
Evénements
result: — Distribué lorsque l’exécution de l’instruction se termine avec succès ou lorsqu’une valeur d’argument prefetch est spécifiée et qu’une instruction SELECT renvoie une ou plusieurs lignes de données.
| |
error: — Distribué lorsque l’opération échoue en mode d’exécution asynchrone.
|
Valeur émise
IllegalOperationError — Si la propriété text est null ou contient une chaîne vide ("" ) ; si la propriété sqlConnection n’est pas définie ; si l’occurrence SQLConnection affectée à la propriété sqlConnection n’est pas connectée ; ou si l’instruction est en cours d’exécution.
| |
SQLError — Si l’opération échoue en mode d’exécution synchrone.
|
Plus d’exemples
Récupération partielle des résultats d’une instruction SELECT
Insertion de données
Modification ou suppression de données
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
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 | () | méthode |
public function getResult():SQLResult
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Permet d’accéder à un objet SQLResult contenant les résultats de l’exécution de l’instruction, y compris les lignes de résultat d’une instruction SELECT
et d’autres informations sur l’exécution de toutes les instructions exécutées. En mode d’exécution asynchrone, les informations de résultat ne sont pas disponibles avant le déclenchement de l’événement result
.
Lorsqu’une instruction SELECT
est exécutée, si la méthode execute()
est appelée avec l’argument prefetch
par défaut défini sur -1, l’objet SQLResult renvoyé contient l’ensemble du jeu de résultats de la requête.
Lorsqu’un argument prefetch
est spécifié pour un appel de méthode execute()
ou next()
, la méthode getResult()
se comporte comme une file d’attente de résultats premier arrivé-premier sorti. Chaque fois que l’événement result
est distribué, un nouvel objet SQLResult est ajouté à la file d’attente. Chaque fois que la méthode getResult()
est appelée, le premier objet SQLResult (celui qui a été ajouté le premier à la file d’attente) est renvoyé et supprimé de la file. Lorsqu’il ne reste plus aucun objet SQLResult dans la file d’attente, getResult()
renvoie null
.
Notez qu’à moins d’être supprimés par un appel de getResult()
, les objets SQLResult demeurent dans la file d’attente. Par exemple, si la méthode execute()
est appelée plusieurs fois sans appel à getResult()
, les objets SQLResult associés à chaque appel execute()
restent dans la file d’attente.
SQLResult — Objet SQLResult contenant le résultat d’un appel à la méthode execute() ou next() .
|
Plus d’exemples
Récupération de la clé primaire d’une ligne insérée, générée par la base de données
Eléments de l’API associés
next | () | méthode |
public function next(prefetch:int = -1, responder:Responder = null):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Récupère la partie suivante d’un jeu de résultats d’instruction SELECT
. Si le jeu de résultats ne contient plus aucune ligne, un événement result
est distribué, mais aucun autre objet SQLResult n’est ajouté dans la file d’attente getResult()
.
En mode d’exécution asynchrone, si l’argument responder
n’est pas null
, l’objet Responder spécifié indique les méthodes appelées pour gérer les résultats de l’opération. Si l’argument responder
est null
, un événement result
est distribué si l’opération est réussie, ou un événement error
si l’opération échoue.
Cette méthode ne peut être appelée que si l’instruction est encore en exécution. Lorsque l’instruction est une requête SELECT
et qu’un argument prefetch
supérieur à zéro est spécifié, l’instruction est censée s’exécuter jusqu’à ce que l’ensemble du jeu du résultats soit renvoyé ou que la méthode SQLStatement.cancel()
ouSQLConnection.cancel()
soit appelée.
Paramètres
prefetch:int (default = -1 ) — Lorsque la propriété text de l’instruction est une instruction SELECT , cette valeur indique le nombre de lignes renvoyées en une seule fois par l’instruction. La valeur par défaut est -1, indiquant que toutes les lignes du résultat sont renvoyées en une seule fois. L’utilisateur peut ainsi mieux percevoir les performances de l’application, car les résultats initiaux sont renvoyés plus rapidement et les opérations de traitement des résultats sont divisées.
| |
responder:Responder (default = null ) — Objet qui désigne les méthodes à appeler lorsque l’opération réussit ou échoue. Si l’argument responder est null , un événement result ou error est distribué lorsque l’exécution se termine.
|
Evénements
result: — Distribué lorsque l’exécution de l’instruction se termine avec succès ou lorsqu’une valeur d’argument prefetch est spécifiée et que l’appel next() renvoie une ou plusieurs lignes de données.
| |
error: — Distribué lorsque l’opération échoue en mode d’exécution asynchrone.
|
Valeur émise
IllegalOperationError — Lorsque la méthode est appelée alors que l’instruction n’est pas en cours d’exécution (la propriété executing est false ).
| |
SQLError — si l’opération échoue en mode d’exécution synchrone.
|
Plus d’exemples
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
complete
de SQLResult et, si toutes les lignes n’ont pas été récupérées, appelle la méthode 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 | Evénement |
flash.events.SQLErrorEvent
propriété SQLErrorEvent.type =
flash.events.SQLErrorEvent.ERROR
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Distribué lorsqu’une erreur se produit au cours d’une opération.
La constanteSQLErrorEvent.ERROR
définit la valeur de la propriété type
d’un événement error distribué lorsqu’un appel à une méthode d’une occurrence SQLConnection ou SQLStatement se termine avec une erreur. L’événement error
a les propriétés suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
error | Objet SQLError contenant des informations sur le type d’erreur ayant eu lieu et l’opération ayant provoqué l’erreur. |
currentTarget | Objet qui traite activement l’objet de l’événement avec un écouteur d’événement. |
target | L’objet SQLConnection ou SQLStatement signalant l’erreur. |
Eléments de l’API associés
result | Evénement |
flash.events.SQLEvent
propriété SQLEvent.type =
flash.events.SQLEvent.RESULT
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Distribué lorsque l’opération d’un appel de méthode execute()
ou next()
se termine avec succès. Une fois que l’événement result
est déclenché, la méthode getResult()
peut être appelée pour récupérer les résultats de l’instruction.
SQLEvent.RESULT
définit la valeur de la propriété type
d’un objet événement result
. Déclenché lorsque la méthode SQLStatement.execute()
ou SQLStatement.next()
se termine avec succès. Une fois que l’événement SQLEvent.RESULT
est distribué, la méthode SQLStatement.getResult()
peut être appelée pour accéder aux données de résultat. L’événement result
a les propriétés suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | Objet qui traite activement l’objet de l’événement avec un écouteur d’événement. |
target | L’objet SQLStatement qui a effectué l’opération. |
Eléments de l’API associés
Tue Jun 12 2018, 09:30 AM Z