DataSet Typé, insert et auto incrément

Signaler
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Bonjour,

J'essaye d'utiliser les dataset typés en C# sous VS2005. J'arrive à faire des update, delete et insert mais je n'arrive pas à récupérer la valeur de l'autoincrément de la table que je met à jour.

(numClient est mon auto incrément).
Voici le contenu de ma requête ClientDataSet_InsertQuery :
-----------------------------------------------------------------------
INSERT INTO Client
                      (Type, Nom, Prenom, Adresse, NumVille, Telephone1, Telephone2, Portable1, Portable2, Fax, Email1, Email2, IndicationRoutiere, NomRelation, Actif)
VALUES     (@Type,@Nom,@Prenom,@Adresse,@NumVille,@Telephone1,@Telephone2,@Portable1,@Portable2,@Fax,@Email1,@Email2,@IndicationRoutiere,@NomRelation,@Actif);
SELECT NumClient, Type, Nom, Prenom, Adresse, NumVille, Telephone1, Telephone2, Portable1, Portable2, Fax, Email1, Email2, IndicationRoutiere, NomRelation, Actif FROM Client WHERE (NumClient = SCOPE_IDENTITY())
-----------------------------------------------------------------------

La requete retourne bien le recordset ajouté mais lorsque j'appelle la méthode ClientDataSet_InsertQuery, elle ne me retourne qu'un entier qui correspond au nombre de record ajouté.
Int32 ret = eAdapter.ClientDataSet_InsertQuery(cboTypeClient.Text, txtNom.Text, txtPrenom.Text, txtAdresse.Text, int.Parse(cboVille.SelectedValue.ToString()), txtTel1.Text, txtTel2.Text, txtGsm1.Text, txtGsm2.Text, txtFax.Text,txtMail.Text, "", "", "", "O");

Comment puis je récupérer le NumClient ?
Merci

DT

2 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
le mieux pour faire ceci, c'est d'utiliser un procédure stockée et de retourner via un paramètre de retour (out) le @@identity

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015

Je suis d'accord, mais j'aimerai utiliser les fonctionnalités de VS2005, surtout que le cas semble prévu (la requete d'insert  générée automatiquement gère le SCOPE_IDENTITY...). Cette requête fait un select sur le record nouvellement enregistré, je pense qu'il suffit de pas grand chose pour le retrouver dans mon source C# ...
DT