Je suis confronté à une petite difficulté.

Je développe une petite application de gestion de dossiers utilisant un treeview ; lorsque l'utilisateur veut ajouter un dossier, je crée une nouvelle ligne dans la base de données et un nouveau noeud dans le treeview.

Je souhaiterais affecter la valeur de la clé primaire (auto-incrémentée) de la nouvelle ligne à la propriété Tag de mon noeud.

Or, au moment où je crée la ligne dans la base de donnée, il m'est impossible de lire cette valeur (j'ai toujours "-1" en retour).

Idéalement, j'aimerais pouvoir lire cette valeur avant l'update (j'imagine que le moteur de base de données à déjà dû la définir à ce moment) mais après ça va aussi, si je suis sûr qu'il s'agit bien de la clé primaire de ma nouvelle ligne.

Voici le code qui crée la ligne (rien d'extraordinaire) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
ObjetDataRow = frmMain.DossiersDataSet.Tables("Dossiers").NewRow()
 
ObjetDataRow("Dossier") = "Nouveau dossier..."
 
frmMain.DossiersDataSet.Tables("Dossiers").Rows.Add(ObjetDataRow)
 
frmMain.DossiersTableAdapter.Update(frmMain.DossiersDataSet.Dossiers)
Quelle instruction dois-je utiliser et à quel moment pour avoir la valeur de la clé primaire qui figurera en définitif dans la table ?

Ou pour résumer, comment retrouver avec certitude ma ligne dans la base de données (dans la cas où d'autres auraient été créées par un autre utilisateur entre temps) ??

D'avance merci