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

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

عندي داتا جريدفيو  اقوم بتوصيلها بقاعدة بيانات اكسيس 2007 بالاتصال المنفصل

بضيف صفوف وبحذف صفوف عادي جدا وحفظ وكل شيء تمام

المشكلة اريد تجربة اضافة 100 صف ببيانتهم مرة واحدة لتجربة

استخدمت الكود التالي لاضافة 100 صف مرة واحدة الكود يعمل بالداتا جريد بدون وصلها بقاعدة البيانات ولكن لايعمل عند اتصال بقواعد البيانات ويعطي الخطا اسفل منة

المطلوب كود لاضافة 100 صف مرة واحدة في حالة الاتصال بقواعد البيانات

 With DataGridView1
            For i = 0 To 100
                .Rows.Add(i, "Bayh")
            Next
End With
       
الخطا
Rows cannot be programmatically added to the DataGridView's rows collection when the control is data-bound.
أذا اردت الاضافه مباشره استخدم الاتي : 
PHP كود :
        For As Integer 0 To 100
            Using con 
As New OleDbConnection(connString)
                Using cmd As New OleDbCommand("insert into amil (amil_Name,adres,n_tile) values(@amil_Name,@adres,@n_tile)"con)
                    cmd.Parameters.AddWithValue("@amil_Name", ("test1"))
                    cmd.Parameters.AddWithValue("@adres", ("test2"))
                    cmd.Parameters.AddWithValue("@n_tile", ("test3"))
                    'فحص الاتصال بقاعدة البيانات
                    If con.State = ConnectionState.Open Then
                        con.Close()
                    End If
                    con.Open()
                    cmd.ExecuteNonQuery()
                    con.Close()
                End Using
            End Using
        Next
        MsgBox("تم الاضافه بنجاح") 

اما اذا اردت اضافه جميع بيانات ال datagrid مره واحده استخدم الاتي :
PHP كود :
For As Integer 0 To DataGridView2.Rows.Count 2
            Using con 
As New OleDbConnection(connString)
 
               Using cmd As New OleDbCommand("insert into amil (amil_Name,adres,n_tile) values(@amil_Name,@adres,@n_tile)"con)
 
                   cmd.Parameters.AddWithValue("@amil_Name", (DataGridView2.Rows(x).Cells(0).Value))
 
                   cmd.Parameters.AddWithValue("@adres", (DataGridView2.Rows(x).Cells(1).Value))
 
                   cmd.Parameters.AddWithValue("@n_tile", (DataGridView2.Rows(x).Cells(2).Value))
 
                   'فحص الاتصال بقاعدة البيانات
                    If con.State = ConnectionState.Open Then
                        con.Close()
                    End If
                    con.Open()
                    cmd.ExecuteNonQuery()
                    con.Close()
                End Using
            End Using
        Next
        DataGridView2.Rows.Clear()
        MsgBox("تم الاضافه بنجاح")
    End Sub 
(03-12-17, 09:11 PM)Rabeea Qbaha كتب : [ -> ]أذا اردت الاضافه مباشره استخدم الاتي : 
PHP كود :
        For As Integer 0 To 100
            Using con 
As New OleDbConnection(connString)
                Using cmd As New OleDbCommand("insert into amil (amil_Name,adres,n_tile) values(@amil_Name,@adres,@n_tile)"con)
                    cmd.Parameters.AddWithValue("@amil_Name", ("test1"))
                    cmd.Parameters.AddWithValue("@adres", ("test2"))
                    cmd.Parameters.AddWithValue("@n_tile", ("test3"))
                    'فحص الاتصال بقاعدة البيانات
                    If con.State = ConnectionState.Open Then
                        con.Close()
                    End If
                    con.Open()
                    cmd.ExecuteNonQuery()
                    con.Close()
                End Using
            End Using
        Next
        MsgBox("تم الاضافه بنجاح") 

اما اذا اردت اضافه جميع بيانات ال datagrid مره واحده استخدم الاتي :
PHP كود :
For As Integer 0 To DataGridView2.Rows.Count 2
            Using con 
As New OleDbConnection(connString)
 
               Using cmd As New OleDbCommand("insert into amil (amil_Name,adres,n_tile) values(@amil_Name,@adres,@n_tile)"con)
 
                   cmd.Parameters.AddWithValue("@amil_Name", (DataGridView2.Rows(x).Cells(0).Value))
 
                   cmd.Parameters.AddWithValue("@adres", (DataGridView2.Rows(x).Cells(1).Value))
 
                   cmd.Parameters.AddWithValue("@n_tile", (DataGridView2.Rows(x).Cells(2).Value))
 
                   'فحص الاتصال بقاعدة البيانات
                    If con.State = ConnectionState.Open Then
                        con.Close()
                    End If
                    con.Open()
                    cmd.ExecuteNonQuery()
                    con.Close()
                End Using
            End Using
        Next
        DataGridView2.Rows.Clear()
        MsgBox("تم الاضافه بنجاح")
    End Sub 

الف شكر الكود ظبط معايا