DataSet Typé, insert et auto incrément

babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 22 sept. 2006 à 11:03
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 22 sept. 2006 à 16:21
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

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
22 sept. 2006 à 14:45
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#]
0
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
22 sept. 2006 à 16:21
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
0
Rejoignez-nous