Récupérer l'id d'une enregistrement inserer dans la BD

Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008 - 11 juil. 2006 à 08:53
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 11 juil. 2006 à 10:34
Salut à tous,

Je voudrais savoir comment faire en C#, pour récupérer l'ID d'un enregistrement qui vient d'être Inseré.
Je m'explique :
J'ai une base de donnée sous SQL Server 2005, ma table contient une clé primaire qui est auto-incrémenté.
Pour l'ajout d'un enregistrement, j'ai fait : Insert into maTable values(idValeur, strValeur ....)
Et il me retourne une erreur dans la requête. Elle provient du idValeur, vu que j'ai mit la propriété de la clé primaire à auto-incremente.

Et je gérais moi même l'idValeur car j'en ai besoin plus loin dans mon code.

Donc mon problème c'est que je veux modifier le moins de code possible.
Je dis ça car j'ai une solution c'est de refaire toutes c'est requete en procedure stocker et de retourner la valeur. Mais je dois refaire les requetes etc. J'ai aussi la solution de faire une autre requete pour selectionner l'idMax de la table mais pas trop cool, car pas fiable à 100 % et bcp d'appel à la base de donnée.

Donc au niveau de mon architecture j'ai une classe BD.
Dans BD j'ai une méthode executeQueryNonSelect et une autre executeQuerySelect. Vous vous en doutez bien la première sert à executer les update, insert, et delete, et la deuxième les select.

Merci de bien vouloir vous pensez sur mon cas ;) et j'en suis sur que ça aidera plus d'un aussi :).

Manu

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 37
11 juil. 2006 à 10:33
je ne vois pas comment tu vas pouvoir faire sans changer ca...

l'utilisation de procédure stockée est tout de même conseillé pour les accés à la base de données.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 juil. 2006 à 10:34
et en passant...
remplacer un ExecuteNonQuery par un ExecuteScalar, ce n'est pas la mort surtout si tu as fait une classe d'accés aux données.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
Rejoignez-nous