21-12-17, 03:32 PM
(آخر تعديل لهذه المشاركة : 21-12-17, 03:35 PM {2} بواسطة طالب برمجة.)
اتضح أن المشكلة في عملية إضافة Parameters
فكان يجب إدخال Parameters.Clear في الحلقة For وتكون أول سطر وتنفيذ الاستعلام ExecuteNonQuery يكون قبل Next مباشرة
هذا تعديل الكود
فكان يجب إدخال Parameters.Clear في الحلقة For وتكون أول سطر وتنفيذ الاستعلام ExecuteNonQuery يكون قبل Next مباشرة
هذا تعديل الكود
PHP كود :
Try
If Con.State <> 1 Then Con.Open()
Using CmdInsert As New SqlCommand
With CmdInsert
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "Insert Into store_id (num , date , mowared , senfnum , q1 , q2 , price , currencey , currenceyrate , stornum)values( @num , @date , @mowared , @senfnum , @q1 , @q2 , @price , @currencey , @currenceyrate , @stornum)"
For i As Integer = 0 To (DataGridView1.Rows.Count - 1)
.Parameters.Clear()
.Parameters.AddWithValue("@num", SqlDbType.Int).Value = Val(TextBox1.Text)
.Parameters.AddWithValue("@date", SqlDbType.Date).Value = Dtpdate.Value
.Parameters.AddWithValue("@mowared", SqlDbType.Int).Value = Val(TextBox2.Text)
.Parameters.AddWithValue("@senfnum", SqlDbType.Int).Value = DataGridView1(0, i).Value.ToString
.Parameters.AddWithValue("@q1", SqlDbType.Decimal).Value = DataGridView1(2, i).Value.ToString
.Parameters.AddWithValue("@q2", SqlDbType.Decimal).Value = DataGridView1(3, i).Value.ToString
.Parameters.AddWithValue("@price", SqlDbType.Decimal).Value = DataGridView1(6, i).Value.ToString
.Parameters.AddWithValue("@currencey", SqlDbType.Int).Value = Val(TextBox9.Text)
.Parameters.AddWithValue("@currenceyrate", SqlDbType.Decimal).Value = Val(TextBox10.Text)
.Parameters.AddWithValue("@stornum", SqlDbType.Int).Value = DataGridView1(4, i).Value.ToString
.ExecuteNonQuery()
Next
End With
End Using
MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Information)
Finally
Con.Close()
End Try

