Строки datagridview существуют, обновите или вставьте для доступа на vb.net - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть имя таблицы базы данных доступа CK_Recipe с MID, MName, MPrice, Portion, Code, Ingred_Name, Unit, Cost, Qty

Мой синтаксис сохранения работает правильно, но я хочу обновить строки, если запись существует, вставьте новую строку в базу данных из таблицы данных. ниже мой код. Пожалуйста, любой может мне помочь.

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    For Each row As DataGridViewRow In DataGridView1.Rows
        Dim constrg As String = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Menu\AHG.accdb")
        Using con As New OleDbConnection(constrg)
            Using cmd As New OleDbCommand("insert into CK_Recipe values(@MID,@MName,@MPrice,@Portion,@Code,@Ingred_Name,@Unit,@Cost,@Qty)", con)
                Using cmdd As New OleDbCommand("insert into ProductsCK values(@ProID,@MName,@MPrice,@Portion)", con)
                    cmd.Parameters.AddWithValue("MID", row.Cells("MID").Value)
                    cmd.Parameters.AddWithValue("MName", row.Cells("Name").Value)
                    cmd.Parameters.AddWithValue("MPrice", row.Cells("Price").Value)
                    cmd.Parameters.AddWithValue("Portion", row.Cells("Portion").Value)
                    cmd.Parameters.AddWithValue("Code", row.Cells("Code").Value)
                    cmd.Parameters.AddWithValue("Ingred_Name", row.Cells("Ingredient").Value)
                    cmd.Parameters.AddWithValue("Unit", row.Cells("Unit").Value)
                    cmd.Parameters.AddWithValue("Cost", row.Cells("Cost").Value)
                    cmd.Parameters.AddWithValue("Qty", row.Cells("Qty").Value)
                    cmdd.Parameters.AddWithValue("ProID", row.Cells("MID").Value)
                    cmdd.Parameters.AddWithValue("MName", row.Cells("Name").Value)
                    cmdd.Parameters.AddWithValue("MPrice", row.Cells("Price").Value)
                    cmdd.Parameters.AddWithValue("Portion", row.Cells("Portion").Value)
                    con.Open()
                    cmd.ExecuteNonQuery()
                    cmdd.ExecuteNonQuery()
                    con.Close()
                    MsgBox("Saved", MsgBoxStyle.Information, "Information")
                End Using
            End Using
        End Using
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...