منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ماهو سبب ظهور الجملة عند الحفظ من الداتاقريدفيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
إخواني ظهرت لي جملة ولم أستطع أن أفهم مالمقصود بها عندما أريد أن أحفظ البيانات من الداتاقريد فيو لأكثر من سطر تظهر لي هذه الجملة
The parameterized query '(@Period1 nvarchar(15),@Shoba1 nvarchar(10),@Mada1 nvarchar(30),' expects the parameter '@Hawia', which was not supplied

وهذا هو الكود المستخدم علماً أن الكود أستخدمه في مرات كثيرة وهو ناجح 100 \100 ولكن هذه المرة لاأعرف  المشكلة 

      Dim i As Integer
        For i = 0 To DataGridView1.Rows.Count
            Dim sqlq As String = "insert into Entezar1 values(@Hawia,@Period1,@Shoba1,@Mada1,@Teacher_Montzer,@signture,@Note,@list,@Teacher_Ghiab,@Day1,@Date1,@Date_Hijri)"

            'Dim sqlq As String = "insert into Entezar1 values(@Teacher_Montzer,@signture,@Note,@list,@Hawia,@Teacher_Ghiab,@Day1,@Date1,@Date_Hijri)"
            Dim sqlcmd As New SqlCommand(sqlq, Sqlcon)

            sqlcmd.Parameters.Add(New SqlParameter("@Period1", SqlDbType.NVarChar, 15) With {.Value = DataGridView1.Rows(i).Cells(0).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@Shoba1", SqlDbType.NVarChar, 10) With {.Value = DataGridView1.Rows(i).Cells(1).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@Mada1", SqlDbType.NVarChar, 30) With {.Value = DataGridView1.Rows(i).Cells(2).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@Teacher_Montzer", SqlDbType.NVarChar, 80) With {.Value = DataGridView1.Rows(i).Cells(3).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@signture", SqlDbType.NVarChar, 50) With {.Value = ""})
            sqlcmd.Parameters.Add(New SqlParameter("@Note", SqlDbType.NVarChar, 80) With {.Value = ""})
            sqlcmd.Parameters.Add(New SqlParameter("@list", SqlDbType.NVarChar, 10) With {.Value = DataGridView1.Rows(i).Cells(6).Value.ToString})
            sqlcmd.Parameters.Add(New SqlParameter("@Hawia", SqlDbType.NVarChar, 15) With {.Value = DataGridView1.Rows(i).Cells(7).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@Teacher_Ghiab", SqlDbType.NVarChar, 15) With {.Value = DataGridView1.Rows(i).Cells(8).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@Day1", SqlDbType.NVarChar, 15) With {.Value = DataGridView1.Rows(i).Cells(10).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@Date1", SqlDbType.NVarChar, 30) With {.Value = DataGridView1.Rows(i).Cells(10).Value})
            sqlcmd.Parameters.Add(New SqlParameter("@date_Hijri", SqlDbType.NVarChar, 30) With {.Value = DateTimePicker1.Text})


            Sqlcon.Open()
            sqlcmd.ExecuteNonQuery()
            Sqlcon.Close()
            MsgBox("تم الحفظ ")
        Next

آسف على الإطالة 


لكم جزيل الشكر 
دمتم بود
كود :
 For i = 0 To DataGridView1.Rows.Count -1
تاكد من البارامتر hawıa وحاول جعل تسلسل القيم مثل الباراميترات وتاكد من نوع بيانات الحقول
شي اخر انا لم اجربه من قبل انت لم تذكر الحقول مباشرة كتبت values ثم القيم بالباراميترات
السلام عليكم ورحمة الله وبركاته
 أولاً وقبل كل شيء أشكرك على سرعة ردك وقد أحرجتني أشد الإحراج وبارك الله لك في عمرك ورزقك 

حاولت أستاذي الكريم بما قلت لي ولكن نفس المشكلة 
عندي سؤال  هل الممكن السبب أن الحقول السابقة ماعدا رقم الهوية (( هي موجودة في الداتاقريدفيو على هيئة combobox   ومرتبطة بجدول في قاعدة البيانات وليست على هيئة أعمدة text 
  
لك جزيل الشكر 
دمت بود

السلام عليكم ورحمة الله وبركاته
أستاذ إبراهيم  جربت نفس الكود على داتاقريد فيو أعمدته textbox  وتم الحفظ على أفضل وجه  وأضفت لها try catch


لك جزيل الشكر 
دمت بود