Récupérer l'identifiant ou l'objet insérer

Signaler
Messages postés
64
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2009
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour à tous,

J'ai une question à propos du ExecuteNonQuery.
Lorsque l'on fait une Insertion, il nous renvoit le nombre de ligne affectée. (Ok très bien)

Maintenant, si je fais une insertion sur un table dont l'identifiant est en auto increment.
Ex : INSERT INTO Person (person_name) VALUES ("toto");

Je souhaite derrière cela, crée un objet Person qui contiendra les information person_id et person_name.
Or je ne sais pas quel est l'identifiant de la personne nommée "toto".

Comment puis-je faire ? Suis-je obliger d'aller retaper dans la base en faisant un
SELECT person_id WHERE person_name = 'toto';  ?

Merci d'avance,

7 réponses

Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

utilises sqlparameter et défini l'id comme paramètre de sortie
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

voic un exemple sans sqlparameter

http://www.netomatix.com/adonetauto.aspx

j'espere que ca peut t'aider
Messages postés
64
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2009

Hum, je ne suis pas sur que le @@IDENTITY soit utilisable par tous les SGBD, si ?

Mon but est de pouvoir être compatible avec le maximum de base de données (toutes si possibles :))
Quelle est la meilleure solution ?

PS : Tu peux détailler l'utilisation du SQLParameter plz ?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Salut,

Si SQL Server 2000 et supérieurs, voir plutot SCOPE_IDENTITY et pas @@IDENTITY.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
58
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
5 août 2009

Moi je te conseillerai d'éviter l'utilisation de numéro auto et de préférer des GUID pour les identifiants.

JayJay974
Messages postés
64
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2009

Les guid ?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Voir le type uniqueidentifier de SQL Server et le type System.Guid côté .NET

/*
coq
MVP Visual C#
CoqBlog
*/