Asp.net - récupérer l'id d'un élément lors d'une insertion sous sql server

Contenu du snippet

Un soucis très courant en SQL est la récupération d'un ID (champs automatique et Unique avec Incrément), lors d'un INSERT. En effet, cette valeur peut être utilisée dans une suite de requettes suivant celle de l'insertion.

Sous ASP, ceci se faisait avec Un Recordset comme expliqué au bas de cette page :
- http://www.asp-php.net/scripts/asp-php/astuces.php

En revanche sous ASP.NET, les Recordset n'existant plus, une autre méthode est conseillée, qui revient à exécuter une requette manuelle en TSQL.

Source / Exemple :


' La Table en exemple contient 3 champs : ID, Nom, Prenom

SQLUpdatePersonne = "INSERT INTO AN.Personne " & _
 "(Nom, Prenom) VALUES ( '" & _
 MaVariableNom & "', '" & _
 MaVariablePreNom & "', '" & _
 ");"

SQLUpdatePersonne &= "DECLARE @ID int;"
SQLUpdatePersonne &= "SET @ID = @@IDENTITY;"
SQLUpdatePersonne &= "SELECT @ID;"

ValeurID = MaConnexion.ExecuteScalar(SQLUpdatePersonne)

' La valeur contenue dans ValeurID est le Numéro de l'Id du nouvel Utilisateur

Conclusion :


Il est à noté que le Declare @ID et SET @ID = @@IDENTITY; , ne sont pas obligatoires, on peut faire directement un SELECT @@IDENTITY; en fin.

Bon Coding.

Romelard Fabrice (Alias F___)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.