salut
je travaille avec vb.net 2005 avec une base sql server
j'ai crée un datagridviem dans une forme de mon projet à partir d'une table de ma base.
ma tache consiste à ajouter des informations manquantes à une ligne (row) existant de la datagrid à partir d'une nouvelle forme du projet en insérant ces données à partir des textbox.
En d'autres termes j'ai une Form_mere avec un Datagridview (lié a une datatable ?) Contenant les lignes de ta table en Base. je sélectionne une ligne, et par exemple en cliquant sur un bouton, une Form_Fille apparait ne contenant que des Textbox. Il y a autant de Textboxs que de colonnes.
L'utilisateur mets a jour les données dans les textbox, puis clique sur un Bouton pour valider les changements.
Alors , j'ai réussi à préparer la forme fille à l'aide de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TextBox.Text=Form_Parent.DataGridView.Rows(Form_Parent.DataGridView.CurrentRow.Index).Cells(IndexColonneRecerchée).Value.ToString
' en répetant l'opération pour chaque TextBox
ainsi, pour la mise à jour de la table de la base sql (contenant une colonne définie comme clé primaire ) j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Dim ID As Integer = Form_Parent.DataGridView.CurrentRow.Cells(0).Value
 
Dim MaTable As DataTable = Form_Parent.ObjetDataSet.Tables("la_table")
Dim Row As DataRow = MaTable.Rows.Find(ID)
If Row IsNot Nothing Then
With Row
.Item("Nom") = txtNom.Text
.Item("Code") = txtCode.Text
End With
End If
 
Form_Parent.ObjetDataAdapter.Update(MaTable)
mais l'excécution me génère l'exception
MissingPrimaryKeyException n'a pas été généré :La table n'a pas une clé primaire.

pourtant la table contient bien une clé primaire!
merci de m'aider