У меня есть имя таблицы базы данных доступа 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