السلام عليكم ورحمة الله وبركاتة الاخوة الكرام اتمنا ان اجد عندكم الحل لهذة المشكلة اقوم بتصميم برنامج علي الفيجول بيزك لتسجيل المبيعات وعند تسجيل فاتورة بيع بها اكتر من صنف ب استخدام (for) يحدث هذا الخطاء ({"Procedure or function add_ditels_fatorasel has too many arguments specified."} ) مع العلم انه عند التنفيذ بصنف واحد فقط لا يحدث خطاء
هذا الكود المطلوب تنفيذة
Dim con As New SqlConnection
Private Sub fatora()
con.ConnectionString = ("Data Source=.\SQLEXPRESS;Initial Catalog=DBTest;Integrated Security=True")
Dim com2 As New SqlCommand
com2.CommandType = CommandType.StoredProcedure
com2.Connection = con
Dim i As Integer
Dim DGV As New FORM_ORDERS
For i = 0 To DGV.DataGridView1.Rows.Count - 1 Step 1
If i > DGV.DataGridView1.Rows.Count - 1 Then
Exit For
End If
com2.CommandText = ("add_ditels_fatorasel")
'عملية حفظ اصناف الفاتورة في جدول تفاصيل المبيعات
com2.Parameters.AddWithValue("@seril_pro", DGV.DataGridView1.Rows(i).Cells(0).Value)
com2.Parameters.AddWithValue("@name_pro", DGV.DataGridView1.Rows(i).Cells(1).Value)
com2.Parameters.AddWithValue("@Quint_pro", DGV.DataGridView1.Rows(i).Cells(2).Value)
com2.Parameters.AddWithValue("@discount", DGV.DataGridView1.Rows(i).Cells(5).Value)
com2.Parameters.AddWithValue("@nettotal_pro", DGV.DataGridView1.Rows(i).Cells(6).Value)
com2.Parameters.AddWithValue("@id_fators", DGV.textnumber.Text)
If con.State = ConnectionState.Open Then con.Close()
con.Open()
com2.ExecuteNonQuery()
Next i
com2.Dispose()
con.Close()
End Sub
End Class
هذا الكود المطلوب تنفيذة
Dim con As New SqlConnection
Private Sub fatora()
con.ConnectionString = ("Data Source=.\SQLEXPRESS;Initial Catalog=DBTest;Integrated Security=True")
Dim com2 As New SqlCommand
com2.CommandType = CommandType.StoredProcedure
com2.Connection = con
Dim i As Integer
Dim DGV As New FORM_ORDERS
For i = 0 To DGV.DataGridView1.Rows.Count - 1 Step 1
If i > DGV.DataGridView1.Rows.Count - 1 Then
Exit For
End If
com2.CommandText = ("add_ditels_fatorasel")
'عملية حفظ اصناف الفاتورة في جدول تفاصيل المبيعات
com2.Parameters.AddWithValue("@seril_pro", DGV.DataGridView1.Rows(i).Cells(0).Value)
com2.Parameters.AddWithValue("@name_pro", DGV.DataGridView1.Rows(i).Cells(1).Value)
com2.Parameters.AddWithValue("@Quint_pro", DGV.DataGridView1.Rows(i).Cells(2).Value)
com2.Parameters.AddWithValue("@discount", DGV.DataGridView1.Rows(i).Cells(5).Value)
com2.Parameters.AddWithValue("@nettotal_pro", DGV.DataGridView1.Rows(i).Cells(6).Value)
com2.Parameters.AddWithValue("@id_fators", DGV.textnumber.Text)
If con.State = ConnectionState.Open Then con.Close()
con.Open()
com2.ExecuteNonQuery()
Next i
com2.Dispose()
con.Close()
End Sub
End Class