تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] طريقة نقل المعلومات من DataGridView1 إلى DataGridView2 والحفظ
#9
(26-07-18, 07:34 PM)dell كتب : أخواني معليش تعبتكم معاي .. في حالة التعديل يظهر لي خطاء

كود :
Dim cmds As New SqlCommand("UPDATE tsjel_subj SET [id_tsjel_subj] =?, [Password] =?, [id_number] =?, [FirstName] =?, [name_dorh] =?, [number_dorh] =?, [subj] =?", conn)

        If connn.State <> ConnectionState.Open Then connn.Open()
        For Each saf As DataGridViewRow In DataGridView1.Rows
            If saf.IsNewRow Then Exit For
            cmds.Parameters.Clear()
            cmds.Parameters.AddWithValue("@id_tsjel_subj", saf.Cells(0).Value.ToString)
            cmds.Parameters.AddWithValue("@Password", saf.Cells(1).Value.ToString)
            cmds.Parameters.AddWithValue("@id_number", saf.Cells(2).Value.ToString)
            cmds.Parameters.AddWithValue("@FirstName", saf.Cells(3).Value.ToString)
            cmds.Parameters.AddWithValue("@name_dorh", saf.Cells(4).Value.ToString)
            cmds.Parameters.AddWithValue("@number_dorh", saf.Cells(5).Value.ToString)
            cmds.Parameters.AddWithValue("@subj", saf.Cells(6).Value.ToString)
            cmds.ExecuteNonQuery()
        Next
        connn.Close()

        MsgBox("تم الحفظ   بنجاح", MsgBoxStyle.MsgBoxRight, "")



الخطأ يشير الى ان الاتصال مغلق والسبب أن لديك متغيرا للاتصال احدهم conn والاخر connn،
ثم اعتمدت على conn في الامر command في حين أنك تفتح الاتصال connn
 
النقطة الثانية التي ستواجهك هي
قاعدة بيانات SQLServer لا يتعامل مع ؟ lمثل الاكسس،
بل لابد من تسمية البارامترات

النقطة الخيرة والطيرة التي أغفلتها هي ما ذكرهاالاخ algokr وهي يجب تحديد السطر ب WHERE والذي تريد التعديل حتى لا تقوم بتغيير جميع اسطر الجدول بنفس البيانات

PHP كود :
Dim cmds As New SqlCommand("UPDATE tsjel_subj SET [Password] =@Password, [id_number] =@id_number, [FirstName] =@FirstName, [name_dorh] =@name_dorh, [number_dorh] =@number_dorh, [subj] =@subj WHERE [id_tsjel_subj] =@id_tsjel_subj "connn)

If 
connn.State <> ConnectionState.Open Then connn.Open()
For 
Each saf As DataGridViewRow In DataGridView1.Rows
    If saf
.IsNewRow Then Exit For
 
   cmds.Parameters.Clear()
 
   cmds.Parameters.AddWithValue("@id_tsjel_subj"saf.Cells(0).Value.ToString)
 
   cmds.Parameters.AddWithValue("@Password"saf.Cells(1).Value.ToString)
 
   cmds.Parameters.AddWithValue("@id_number"saf.Cells(2).Value.ToString)
 
   cmds.Parameters.AddWithValue("@FirstName"saf.Cells(3).Value.ToString)
 
   cmds.Parameters.AddWithValue("@name_dorh"saf.Cells(4).Value.ToString)
 
   cmds.Parameters.AddWithValue("@number_dorh"saf.Cells(5).Value.ToString)
 
   cmds.Parameters.AddWithValue("@subj"saf.Cells(6).Value.ToString)
 
   cmds.ExecuteNonQuery()
Next
connn
.Close()

MsgBox("تم الحفظ   بنجاح"MsgBoxStyle.MsgBoxRight""

احذف المتغير conn وليكن لديك متغير واحد للاتصال
الرد }}}
تم الشكر بواسطة: سعود , elgokr , dell


الردود في هذا الموضوع
RE: طريقة نقل المعلومات من DataGridView1 إلى DataGridView2 والحفظ - بواسطة Done - 26-07-18, 08:03 PM


التنقل السريع :


يقوم بقرائة الموضوع: