منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] من فضلكم ضروري اجد حل عندكم لهذا الامر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] من فضلكم ضروري اجد حل عندكم لهذا الامر (/showthread.php?tid=11623)



من فضلكم ضروري اجد حل عندكم لهذا الامر - خلاف - 07-03-15

السلام عليكم ورحمة الله وبركاتة الاخوة الكرام اتمنا ان اجد عندكم الحل لهذة المشكلة اقوم بتصميم برنامج علي الفيجول بيزك لتسجيل المبيعات وعند تسجيل فاتورة بيع بها اكتر من صنف ب استخدام (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


RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - الكاتب - 07-03-15

ظع الكود لتتم معالجته


RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - خلاف - 08-03-15

(07-03-15, 05:40 AM)alktab كتب : ظع الكود لتتم معالجته
السلام عليكم هذة هو الكود المطلوب معالجتة
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


RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - سعود - 08-03-15

ياليت اضافة الاكواد لاحدى الوسوم
كود :
ur code here



RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - خلاف - 08-03-15

(08-03-15, 12:33 PM)سعود كتب : ياليت اضافة الاكواد لاحدى الوسوم

كود :
ur code here
اعتزر لقلت خبرتي في ذلك اتمنا ان يكون الكود كذلك مفهوم
كود :
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



RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - سعود - 09-03-15

هل تتعامل مع الاجراء المحزن؟

كود :
com2.CommandType = CommandType.StoredProcedure
هذا الكود للتعامل مع الاجراءات المخزنة وبقية الكود اجراء عادي .
اذا لم تكن اضفت اجراء داخل قاعدة البيانات فقم بحذف هذا السطر واستبدله بـ commandtype.text


RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - خلاف - 09-03-15

(09-03-15, 07:29 AM)سعود كتب : هل تتعامل مع الاجراء المحزن؟


كود :
com2.CommandType = CommandType.StoredProcedure
هذا الكود للتعامل مع الاجراءات المخزنة وبقية الكود اجراء عادي .
اذا لم تكن اضفت اجراء داخل قاعدة البيانات فقم بحذف هذا السطر واستبدله  بـ commandtype.text

نعم هناك اجراء مخزن في قاعدة البيانات من نوع sqlserver


RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - سعود - 09-03-15

شوف الموضوع


RE: من فضلكم ضروري اجد حل عندكم لهذا الامر - Abu Ehab - 09-03-15

بيقول لك : انه في باراميتر زياده في الكود أو في الاجراء

لكن نصيحة :
طالما انت بتتعامل مع سيكوال سيرفر داتابيس ,,, سيبك من ADO.Net ومشاكلها
تعامل مع Entity
LINQ TO SQL

بس