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

t00f Messages postés 64 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 23 octobre 2009 - 29 mai 2008 à 11:15
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 14 juin 2008 à 12:08
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

GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
29 mai 2008 à 12:07
utilises sqlparameter et défini l'id comme paramètre de sortie
0
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
29 mai 2008 à 12:24
voic un exemple sans sqlparameter

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

j'espere que ca peut t'aider
0
t00f Messages postés 64 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 23 octobre 2009
29 mai 2008 à 14:30
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 ?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
31 mai 2008 à 12:13
Salut,

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

/*
coq
MVP Visual C#
CoqBlog
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_gabj Messages postés 58 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 août 2009
2 juin 2008 à 16:10
Moi je te conseillerai d'éviter l'utilisation de numéro auto et de préférer des GUID pour les identifiants.

JayJay974
0
t00f Messages postés 64 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 23 octobre 2009
9 juin 2008 à 09:09
Les guid ?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 juin 2008 à 12:08
Voir le type uniqueidentifier de SQL Server et le type System.Guid côté .NET

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous