Clef auto-incrementé comment la récuperer

Signaler
Messages postés
38
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008
-
julienorion666
Messages postés
38
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008
-
Bonjour, :)

J'ai une table dans Access avec une clef Auto-incémenté.

je créé un enregistrement à vide par exemple :

 oCB.DataAdapter = oDaHF;
 oDaHF.InsertCommand = oConn.CreateCommand();
 oDaHF.InsertCommand.CommandText = "INSERT INTO Haut_Fonctionnaire (Nom) VALUES (?)";
 OleDbParameter para_Nom = oDaHF.InsertCommand.CreateParameter();
 para_Nom.SourceColumn = "Nom";
 oDaHF.InsertCommand.Parameters.Add(para_Nom);
 oDaHF.Update(oDtHF);


il me créer une clef dans ma base mais je sais pas comment la recupérer dans mon programme,
ce qui pose problème pour d'autre opérations alors je suis obligé de tout recharger.

 oDtHF.Clear();
 oDaHF.Fill(oDtHF);


plus il ya d'enregistrements et plus ca sera long et de plus ... c'est pas tres jolie comme code :/

3 réponses

Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
14
fait un ExecuteScalar sur Select @@Identity, tu récupèreras ainsi l'identfiant créer lors de ton insertion.

Ou sinon

http://msdn2.microsoft.com/en-us/library/59x02y99(vs.71).aspx

::|The S@ib|::
MVP C#.NET
Messages postés
38
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008

j'ai recuperer ma clef avec "Select @@Identity" mais mettre une clef auto incrementé par code dans le datable n'es pas une bonne idee il considere la ligne a mette a jour et au prochaine update il va esseyer d'ecrire la clef dans la base alors que c'est la base qui s'occupe des clef auto incrementer....

en faite il faut faire comme indiquer par ton lien le voici en francais :) :
http://msdn2.microsoft.com/fr-fr/library/ks9f57t0(VS.80).aspx

le pb c est que je suis sur access et qu il n'y a pas de procedure stoké , peu etre une macro VB mais jy'connais rien en macro vb.
Messages postés
38
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008

heu lol y a un exemple pour Access j'avais meme pas vue dsl :))