Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

10fév/110

AIR SQLite – Récupérer la primary key d'une ligne venant d'être insérée

Dans le tutorial précédent, on a vu comment insérer des données dans une base de données SQLite avec INSERT INTO. Mais si votre base de données à une structure avec des jointures par exemple, vous aurez peut-être besoin de la clé primaire de la ligne que vous venez d'insérer. Vous pourrez ainsi insérer cette valeur de clé primaire dans une autre table de jointure.

La clé primaire d'un nouvel élément inséré peut être récupérée dans l'objet SQLResult généré après exécution d'un SQLStatement. C'est par exemple dans cet objet que l'on trouvait les valeurs récupérées par une SELECT:

AIR SQLite – Récupérer les données d'une base SQLite (SELECT)

Dans le cas d'un INSERT, l'instance de SQLResult renvoyée contient une propriété nommée "lastInsertRowID". Voici un petit exemple de code en mode synchrone:

insertStmt.text = "INSERT INTO ...";
try
{
 insertStmt.execute();

 // get the primary key
 var result:SQLResult = insertStmt.getResult();
 var primaryKey:Number = result.lastInsertRowID;
 // do something with the primary key
}
catch (error:SQLError)
{
 // respond to the error
}

Si vous n'avez pas défini de colonne comme "INTEGER PRIMARY KEY", lastIntertRowID va vous renvoyer un identifiant de colonne utilisé par la base en interne, qui correspond au nom de colonne ROWID, _ROWID_, ou OID.

Articles similaires

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Leave a comment

(required)

Aucun trackbacks pour l'instant