У меня есть датадайд с данными. Колонка первая - это поле со списком с импортерами, тогда как столбец второй - импортируемое количество. Я хочу сохранить эти данные в БД независимо от выбора пользователя.Сохранение данных Datagrid в базе данных SQL Server в VB.Net
См. Ниже мое кодовое шоу. Кто-нибудь может мне помочь?
Dim intReturnValue As Integer = 0
Dim SqlCmd As String = "Update Importer_Balance SET Quantity = Quantity + @Quantity WHERE [email protected] and [email protected]"
Dim ConnObj As SqlConnection = New SqlConnection(clsGlobals.ConnString)
Dim CmdObj As SqlCommand = New SqlCommand(SqlCmd, ConnObj)
For i = 0 To Me.dgvImporter.RowCount - 1
CmdObj.Parameters.AddWithValue("@Importer", Me.dgvImporter.Rows(i).Cells(0).Value)
CmdObj.Parameters.AddWithValue("@Quantity", Me.dgvImporter.Rows(i).Cells(1).Value)
CmdObj.Parameters.AddWithValue("@Product", cboProductName.SelectedValue)
Next
ConnObj.Open()
intReturnValue = CInt(CmdObj.ExecuteNonQuery())
ConnObj.Close()
If intReturnValue > 0 Then
MsgBox("You have successfully updated the product table product.", MsgBoxStyle.Information, "")
ClearForm()
Else
MsgBox("No Record were inserted", MsgBoxStyle.Exclamation, "")
End If
Steve. Спасибо за ответ. Просмотрев мой код и следуя вашим предложениям, я получаю эту ошибку: невозможно лить объект типа «System.Int32» для ввода «System.Data.SqlClient.SqlParameter». –
My bad, missing Значение в последнем параметре – Steve
До вашего ответа я включил весь код в цикл. Полученная ошибка похожа на ту, которую я получаю после выполнения инструкции. Ошибка: параметризованный запрос '(@Importer nvarchar (4000), @ Quantity nvarchar (4000), @ Product int)' ожидает параметр '@Importer', который не был указан. –