J'ai ce code qui s'execute quand je clique sur le boutton supprimer.
Principe :
Je séléctionne une ligne de la grille, les informations s'iffichent dans des zones de textes, je veux que quand je clique la ligne courante s'efface de la DataGridView ansi que de la base de données.
J'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Dim cmd As SqlCommand = New SqlCommand("Select * from articles_design where idarticle =" & Val(Me.dgvDesignation.CurrentRow.Cells("idarticle").Value), cnx) Dim da As SqlDataAdapter = New SqlDataAdapter(cmd) Dim ds As New DataSet ds.Clear() da.Fill(ds, "articles_design") 'récupère la clé de l'enregistrement sélectionné Dim idArticle As String idArticle = dgvDesignation.CurrentRow.Cells(0).Value.ToString 'recherche de la ligne a supprimer dans le DataSet Dim Ligne As DataRow() Ligne = ds.Tables("articles_design").Select("idarticle = " & idArticle) 'Suppression Ligne(0).Delete() Dim CmdBuild As SqlCommandBuilder CmdBuild = New SqlClient.SqlCommandBuilder(da) da.DeleteCommand = CmdBuild.GetDeleteCommand() 'Mise a jour avec la base da.Update(ds, "articles_design") 'femeture de la connexion Dim dt As DataTable dt = ds.Tables("articles_design") Me.dgvDesignation.DataSource = dt Me.dgvDesignation.Refresh()
La génération SQL dynamique de DeleteCommand n'est pas prise en charge pour un SelectCommand qui ne retourne pas des informations de colonne clé.
Je n'y arriva pas, svp faut que je respecte une DeadLine.
Merci
Partager