Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.data 

SQLResult  - AS3

Packageflash.data
Classepublic class SQLResult
HéritageSQLResult Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

La classe SQLResult fournit un accès aux données renvoyées en réponse à l’exécution d’une instruction SQL (une occurrence SQLStatement).

L’occurrence SQLResult d’une instruction SQL est accédée par un appel à la méthode SQLStatement.getResult() ou sous forme d’argument transmis au gestionnaire de résultats d’une occurrence Responder spécifiée dans un appel à SQLStatement.execute() ou SQLStatement.next(). En général, le code du développeur ne construit pas directement d’occurrences SQLResult.

Vous utilisez un objet SQLResult pour accéder aux lignes de données renvoyées par une instruction SELECT (avec la propriété data), pour obtenir les informations sur l’identificateur de lignes d’une instruction INSERT (avec la propriété lastInsertRowID), pour déterminer le nombre de lignes affectées par une instruction INSERT, UPDATE ou DELETE (avec la propriété rowsAffected) ou pour déterminer si d’autres lignes de résultats SELECT n’ont pas été récupérées (avec la propriété complete).

Plus d’exemples

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
      complete : Boolean
[lecture seule] Indique si toutes les données résultantes d’une exécution d’instruction ont été renvoyées.
SQLResult
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
      data : Array
[lecture seule] Données renvoyées en tant que résultat de l’exécution de l’instruction, en particulier lorsqu’une instruction SQL SELECT est exécutée.
SQLResult
      lastInsertRowID : Number
[lecture seule] Dernier identifiant généré par une instruction SQL INSERT.
SQLResult
      rowsAffected : Number
[lecture seule] Indique le nombre de lignes affectées par l’opération.
SQLResult
Méthodes publiques
 MéthodeDéfini par
  
    SQLResult(data:Array = null, rowsAffected:Number = 0, complete:Boolean = true, rowID:Number = 0)
Crée une occurrence SQLResult.
SQLResult
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
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
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
Détails de la propriété
    

complete

propriété
complete:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Indique si toutes les données résultantes d’une exécution d’instruction ont été renvoyées.

Lorsqu’une instruction renvoie une ou plusieurs lignes, cette propriété indique si toutes les lignes ont été renvoyées. Lorsque la méthode execute() de l’objet SQLStatement est appelée avec une valeur d’argument prefetch, seul le nombre de lignes de données résultantes spécifié est renvoyé dans la propriété data de l’objet SQLResult. Les appels suivants à SQLStatement.next() rendent d’autres données disponibles. Cette propriété est utilisée pour déterminer le moment où les résultats finaux ont été renvoyés.

Notez que, le nombre de lignes étant inconnu au moment de l’exécution, le curseur de la base de données doit se déplacer au-delà de la dernière ligne pour que l’exécution d’une instruction soit considérée comme complète. Lorsque la méthode SQLStatement.execute() est appelée avec un argument prefetch, au moins une ligne de plus que le nombre total de lignes du jeu de résultats doit être demandée avant que la propriété complete de l’occurrence SQLResult résultante soit true.



Implémentation
    public function get complete():Boolean

Eléments de l’API associés

    

data

propriété 
data:Array  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Données renvoyées en tant que résultat de l’exécution de l’instruction, en particulier lorsqu’une instruction SQL SELECT est exécutée.

Lorsqu’une instruction renvoie une ou plusieurs lignes, cette propriété est un tableau contenant les objets qui représentent les lignes de données de résultat. Chaque objet dans le tableau possède des noms de propriété qui correspondent aux noms des colonnes du jeu de résultats.

Par exemple, supposons que vous exécutez l’instruction SQL SELECT suivante :

     SELECT lastName, firstName
     FROM employees
     

En supposant que la table employees contient 10 lignes, la propriété SQLResult.data est un tableau de 10 éléments. Chaque élément est un objet avec deux propriétés : lastName et firstName.

La situation est plus complexe lorsque vous utilisez une instruction SELECT avec une colonne de résultats complexes, par exemple une fonction de regroupement. Par exemple, supposons que vous exécutez l’instruction SQL suivante :

     SELECT departmentId, SUM(salary)
     FROM employees
     GROUP BY departmentId
     

Dans les résultats de cette instruction, chaque objet du tableau data comprend deux propriétés nommées departmentId et SUM(salary). Toutefois, "SUM(salary)" n’est pas un identifiant valable. Si vous utilisez une colonne calculée, par exemple une fonction de regroupement ou autre, spécifiez un alias pour la colonne calculée dans l’instruction SQL. Cet alias est utilisé comme nom de la propriété dans les objets de données de résultat. Par exemple, considérons cette alternative à l’instruction précédente :

     SELECT departmentId, SUM(salary) AS salarySubtotal
     FROM employees
     GROUP BY departmentId
     

Dans le tableau data de cette instruction, les objets de résultat possèdent deux propriétés nommées departmentId et salarySubtotal.

La propriété data est toujours un tableau, quel que soit le nombre de lignes et de colonnes du jeu de résultats. Par exemple, l’instruction SELECT suivante génère une ligne et une colonne, qui représentent une valeur unique :

     SELECT COUNT(*) AS numEmployees
     FROM employees
     

Après avoir exécuté la requête, la propriété data contient un objet Array avec un élément. Cet élément est un objet avec une seule propriété, numEmployees.

Si plusieurs noms de colonne sont dupliqués dans les données de résultat, notamment si l’instruction SELECT comporte deux colonnes id différentes de deux tableaux distincts, des noms de propriété sont attribués aux noms dupliqués en fonction de la valeur de la propriété SQLConnection.columnNameStyle. Par défaut, le nom de chaque colonne est utilisé comme nom de la propriété. Néanmoins, s’il existe plusieurs colonnes dans le jeu de résultats portant le même nom, le format de nom long [nom-table]_[nom-colonne] est utilisé chaque fois que le nom de plusieurs colonnes est identique. Ce comportement peut être modifié en définissant la propriétéSQLConnection.columnNameStyle.

Par défaut, les objets du tableau data sont des occurrences d’Object. Toutefois, si la valeur de la propriété SQLStatement.itemClass d’une classe est définie, les éléments du tableau data sont créés sous forme d’occurrences de cette classe. Pour chaque colonne du jeu de données de résultat, la classe itemClass doit avoir une propriété dont le nom correspond exactement au nom de la colonne.

Lorsque l’instruction ne renvoie aucune donnée, cette propriété est null. C’est le cas notamment s’il ne s’agit pas d’une instruction SELECT ou s’il s’agit d’une instruction SELECT qui renvoie 0 ligne.



Implémentation
    public function get data():Array

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
Le code suivant illustre l’utilisation de la propriété 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());
        }
    }
}
    

lastInsertRowID

propriété 
lastInsertRowID:Number  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Dernier identifiant généré par une instruction SQL INSERT.

La valeur est 0 si l’instruction exécutée n’était pas une instruction INSERT.

Un identifiant de ligne est utilisé pour identifier une ligne de façon unique dans un tableau au sein d’une base de données. La valeur est générée fréquemment par la base de données.

Pour plus d’informations sur les clés primaires et les identifiants de ligne générés, voir les sections « CREATE TABLE » et « Expressions » dans l’annexe « Prise en charge SQL dans les bases de données locales ».



Implémentation
    public function get lastInsertRowID():Number

Plus d’exemples

Eléments de l’API associés

    

rowsAffected

propriété 
rowsAffected:Number  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Indique le nombre de lignes affectées par l’opération. Seules les modifications spécifiées directement par une instruction INSERT, UPDATE ou DELETE sont comptées.

Les modifications auxiliaires causées par des déclencheurs ne sont pas prises en compte. Pour connaître le nombre total de modifications, y compris dues à des déclencheurs, utilisez la propriété SQLConnection.totalChanges.

Notez que, lorsque l’opération SQL associée est une instruction DELETE sans clause WHERE (c’est-à-dire qu’elle supprime toutes les lignes de la table), la propriété rowsAffected est toujours 0, quel que soit le nombre de lignes supprimées. Pour connaître le nombre de lignes supprimées, vous pouvez inclure la clause WHERE, WHERE 1 = 1. Dans ce cas toutes les lignes sont supprimées et la propriété rowsAffected indique précisément le nombre de lignes supprimées. Toutefois, selon le nombre de lignes supprimées, cette opération affecte négativement les performances de l’instruction.



Implémentation
    public function get rowsAffected():Number

Eléments de l’API associés

Détails du constructeur
    

SQLResult

()Constructeur
public function SQLResult(data:Array = null, rowsAffected:Number = 0, complete:Boolean = true, rowID:Number = 0)

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Crée une occurrence SQLResult. En général, le code du développeur n’appelle pas directement le constructeur SQLResult. Pour récupérer une occurrence SQLResult associée à une occurrence SQLStatement particulière, appelez la méthode getResult() de l’occurrence. Une occurrence SQLResult est également transmise sous forme d’argument à la fonction gestionnaire de résultats lorsqu’une occurrence Responder est spécifiée pour un appel de méthode execute() ou next().

Paramètres
data:Array (default = null) — Tableau de lignes renvoyées par l’exécution d’une instruction. Si l’instruction ne renvoie aucune ligne, cette valeur doit être nulle.
 
rowsAffected:Number (default = 0) — Indique le nombre de ligne affectées par l’instruction exécutée.
 
complete:Boolean (default = true) — Indique si d’autres lignes peuvent être récupérées ou si toutes les données ont été renvoyées.
 
rowID:Number (default = 0) — Si l’instruction était une opération SQL INSERT, il s’agit du nouvel identifiant unique de la ligne.




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.