Click here to Skip to main content
15,895,084 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
HELLO ALL,
am newbie in vb.net. i use visual studio 2017 and sqlserver 2008
i have a datagridview that has been filled from a database using combobox as filter.
now i want to update my database by adding or deleting data in mydatagridview using a button named edit
please help me :'(

What I have tried:

*****here the code that i have used to fill my datagridviw


<pre>Private Sub ComboBox3_SelectedvalueChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedValueChanged
        'filling datagridview using cmbbx 3'
        Cn.Open()
        rq = "select * from [cutting software].dbo.vehicule"
        rq1 = "select * from [cutting software].dbo.tissu"
        rq2 = "select* from [cutting software].dbo.projet"
        rq3 = "select * from [cutting software].dbo.kit_cover"
        rq4 = "select * from [cutting software].dbo.[Plan de coupe]"
        cmd = New SqlCommand(rq, Cn)
        da = New SqlDataAdapter(cmd)
        Dim cmd1 As New SqlCommand(rq1, Cn)
        da1 = New SqlDataAdapter(cmd1)
        Dim cmd2 As New SqlCommand(rq2, Cn)
        da2 = New SqlDataAdapter(cmd2)
        Dim cmd3 As New SqlCommand(rq3, Cn)
        da3 = New SqlDataAdapter(cmd3)
        Dim cmd4 As New SqlCommand(rq4, Cn)
        da4 = New SqlDataAdapter(cmd4)
        Cn.Close()
        If ComboBox3.SelectedItem = "vehicule" Then
            ds = New DataSet
            dt = New DataTable
            da.Fill(dt)
            da.Fill(ds, "vehicule")
            DataGridView1.DataSource = dt
            dt = ds.Tables("vehicule")
        ElseIf ComboBox3.SelectedItem = "tissu" Then
            dt1 = New DataTable
            da1.Fill(dt1)
            DataGridView1.DataSource = dt1
            dt1 = ds.Tables("tissu")
        ElseIf ComboBox3.SelectedItem = "projet" Then
            dt2 = New DataTable
            da2.Fill(dt2)
            DataGridView1.DataSource = dt2
            dt2 = ds.Tables("projet")
        ElseIf ComboBox3.SelectedItem = "kit_cover" Then
            dt3 = New DataTable
            da3.Fill(dt3)
            DataGridView1.DataSource = dt3
            dt3 = ds.Tables("kit_cover")
        ElseIf ComboBox3.SelectedItem = "plan coupe" Then
            dt4 = New DataTable
            da4.Fill(dt4)
            DataGridView1.DataSource = dt4
            dt4 = ds.Tables("Plan de coupe")
        End If
    End Sub
    Private Sub edit_Click(sender As Object, e As EventArgs) Handles edit.Click
        Cn.Open()
        cmdb = New SqlCommandBuilder(da)
        da.Update(ds, "vehicule")
        Cn.Close()
    End Sub



**** here the code that i have used to update the database
Private Sub edit_Click(sender As Object, e As EventArgs) Handles edit.Click
        If ComboBox3.SelectedItem = "vehicule" Then
            Cn.Open()
            cmdb = New SqlCommandBuilder(da)
            da.Update(ds, "vehicule")
            Cn.Close()
        ElseIf ComboBox3.SelectedItem = "tissu" Then
            Cn.Open()
            cmdb = New SqlCommandBuilder(da1)
            da1.Update(ds, "tissu")
            Cn.Close()
        ElseIf ComboBox3.SelectedItem = "projet" Then
            Cn.Open()
            cmdb = New SqlCommandBuilder(da2)
            da2.Update(ds, "projet")
            Cn.Close()
        ElseIf ComboBox3.SelectedItem = "kit_cover" Then
            Cn.Open()
            cmdb = New SqlCommandBuilder(da3)
            da3.Update(ds, "kit_cover")
            Cn.Close()
        ElseIf ComboBox3.SelectedItem = "plan coupe" Then
            Cn.Open()
            cmdb = New SqlCommandBuilder(da4)
            da4.Update(ds, "plan de coupe")
            Cn.Close()
        End If
    End Sub



*** the first code works but for the second it show me :
System.InvalidOperationException: 'Update unable to find TableMapping['vehicule'] or DataTable 'vehicule'.'
Posted
Updated 7-Mar-19 21:08pm
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900