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___)
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.