mitchairben
Messages postés7Date d'inscriptionlundi 18 février 2008StatutMembreDernière intervention14 novembre 2008
-
30 oct. 2008 à 11:16
monre
Messages postés1Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention 4 février 2009
-
4 févr. 2009 à 16:27
bonjour
j'utilise la méthode insert généré automatiquement par mon tableapdapter
j'ai modifié l'insertcommand afin d'y ajouter
select @@identity
chose classique que de récupérer l'id de l'enregistrement inséré
malheureusement la méthode insert me renvoit le nombre de ligne insérée malgré mon select à l'intérieur de la commande
que faire ?
Merci
equinoxe83
Messages postés240Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention18 février 2011 31 oct. 2008 à 17:40
Bonjour à toi,
Excellente question !!!
J'ai moi aussi posé la même question mais n'ai pas trouvé d'autre solution que de créer une requète sql d'insert avec retour du @@identity.
Après l'insert, je récupère la valeur au travers de l'évènement inserted du datasource.
Comme ceci :
Ici, codeResaTB est un texbox de la page utilisé par le Datasource pour afficher le formview
codeEnretour est le code retoruné par la procédure stockée.
C'est un peu tiré par les cheveux mais je n'ai pas trouvé de piste sur le Pb que tu évoque (mais si tu trouves, n'hésites pas ...)
@+
monre
Messages postés1Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention 4 février 2009 4 févr. 2009 à 16:27
Salut Michel,
Tu peux utiliser la méthode insert de ton tableAdapter et récupérer l'incrément.
Après avoir rajouter le "select @@identity" à la fin de ta commande dans ton tableAdapter manager. Il suffit de modifier la propriété "ExexuteMode" de ta query. il faut mettre cette propriété à "scalar".
Après la méthode insert ne retournera plus le nombre de lignes mais l'id du dernier insert.
-> ne pas oublier de caster cet id en decimal.