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

نسخة كاملة : هل يوجد شخص يعرف سبب هذه المشكلة !!
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخوتي

لقد واجهتني مشكلة لا استطيع حلها ولا افهم سببها ..
هل مضمونها ان يتم تحويل الحقول من حرفي لرقمي ولا ايش بالضبط تعبت وانا احاول ان اجد لها حلا  Sad



لقد ارفقت صورة من رسالة الخطا وارجو ان تساعدوني في حلها
ضع الكويري اللي عندك للنظر فيه
كود :
 For Each row As DataGridViewRow In dgv1.Rows

           Dim cmd3 As SqlCommand = con.CreateCommand
           cmd3.CommandText = "Insert Into bodycome([fatoranumber],totalfatora,snfnumber,snf,type,kmya,totalsnf) " & _
           "values ('" & t2.Text & "',@tfatora,@snfnumber,@snf,@type,@kmya,@totalsnf)"

           con.Open()
           cmd3.Parameters.AddWithValue("@snfnumber", row.Cells(0).Value)
           cmd3.Parameters.AddWithValue("@snf", row.Cells(1).Value)
           cmd3.Parameters.AddWithValue("@type", row.Cells(2).Value)
           cmd3.Parameters.AddWithValue("@kmya", row.Cells(4).Value)
           cmd3.Parameters.AddWithValue("@tfatora", row.Cells(6).Value)
           cmd3.Parameters.AddWithValue("@totalsnf", row.Cells(7).Value)

           cmd3.ExecuteNonQuery()
           cmd3.Dispose()
           con.Close()
       Next
يجب التأكد من بيانات كل عمود
فالعمود الرقمي استخدم معه Val مثل
كود :
Val(row.Cells(7).Value)

وهذا تعديل مع اجتهاد مني في تحديد نوع بيانات بعض الأعمدة على أنها رقمية مثل fatoranumber وtotalfatora وsnfnumber وtotalsnf
كود :
For Each row As DataGridViewRow In dgv1.Rows

            Dim cmd3 As SqlCommand = con.CreateCommand
            cmd3.CommandText =
                " INSERT INTO [bodycome] ( [fatoranumber], [totalfatora], [snfnumber], [snf], [type], [kmya], [totalsnf] ) " & _
                " VALUES                 ( @fatoranumber,  @totalfatora,  @snfnumber,  @snf,  @type,  @kmya,  @totalsnf  ) "

            con.Open()
            cmd3.Parameters.AddWithValue("@fatoranumber", Val(t2.Text))
            cmd3.Parameters.AddWithValue("@totalfatora", Val(row.Cells(6).Value))
            cmd3.Parameters.AddWithValue("@snfnumber", Val(row.Cells(0).Value))
            cmd3.Parameters.AddWithValue("@snf", row.Cells(1).Value)
            cmd3.Parameters.AddWithValue("@type", row.Cells(2).Value)
            cmd3.Parameters.AddWithValue("@kmya", row.Cells(4).Value)
            cmd3.Parameters.AddWithValue("@totalsnf", Val(row.Cells(7).Value))

            cmd3.ExecuteNonQuery()
            cmd3.Dispose()
            con.Close()

        Next

والعامل مع Procedure يختلف عن التعامل مع الجدول Table مباشرة
(22-05-17, 12:52 PM)alma2 كتب : [ -> ]يجب التأكد من بيانات كل عمود
فالعمود الرقمي استخدم معه Val مثل
كود :
Val(row.Cells(7).Value)

وهذا تعديل مع اجتهاد مني في تحديد نوع بيانات بعض الأعمدة على أنها رقمية مثل fatoranumber وtotalfatora وsnfnumber وtotalsnf


والعامل مع Procedure يختلف عن التعامل مع الجدول Table مباشرة

مشكور اخي على المساعدة ..

رسالة الخطا الاولى راحت ولكن جات رسالة ثانية مماثلة لها ولكن هذه المرة بقيمة float , لقد ارفقت لك رسالة الخطا
ضع اسم جميع اعمدة الجدول bodycome مع نوع كل منهم

ولو عمل Generate Script لقاعدة البيانات وترفقه يوكن افضل لك