(17-12-16, 01:43 PM)عمرو نجيب كتب : هل ممكن أخي تتفضل علينا وترفق لي الكود بارك الله فيك
اولا : الفضل لله وحده اخي
لكن الاخ الكريم ممكن يكون مشغول وكلنا كذلك
فاعزر له ذلك
لكن الاخ الكريم ممكن يكون مشغول وكلنا كذلك
فاعزر له ذلك
تفضل اخي الكريم
ده الكود كله لو محتاج تنسخو وخلاص
وكمان فيه مثال مرفق
لو محتاج تفهم الكود كمل الموضوع
سوف تستخدم دالة For Each
لعمل ال loop
وهي كالتالي
متغير اسمه saf اقصد به صف هو صف من صفوف الجريد فيو
شرح الكود
لكل متغير صف الي هيكون من نوع صفوف الجريد فيو
في الجريد فيو رقم 1 . فئة الصفوف
ملحوظه : الكود الي فوق ده قسمين ده هو الكود الي تحت
يعني sadd
يا برنامج اعتبرو صف من صفوف الداتا جريد فيو
- لو الجريد فيو دي عربيه
يبقي sad باب من ابواب العربيه cells شبابيك الباب sad الي هوا باب العربيه
شرحها :
اذا كان صف ده مش صف جديد
إذاً
ملحوظه : لان الصف الجديد بيكون فاضي
ملحوظه لو ماعملتش الجمله دي هتخرج رساله تقولك ان
الكائن ده مش متعرف او لا ينتمي الي فئه معرفه في برنامجك
زي الرساله دي
ملحوظه : الخطأ ده ممكن نتلاشاه بإننا نستخدم دالة try
لكن اعتقد ان القاعده هيكون فيها صفوف فاضيه مترقمه فقط
فطالما الحل موجود ليه نسيبو
بعد كده بيجي دور كود الحفظ
بنتعامل هنا مع المتغير صف
بنقولو هاتلي قيمة الخليه رقم صفر الموجوده في الصف الي اسمه صف
هذا وما كان من خطأ فمني ومن الشيطان
والله اعلي واعلم
اعتز لكم اخواني عن الشرح المطول
ولكن كنت اجتهد لايصال الفكره بابسط صورها حتي لا انساها
ويسهل عليا تذكرها
في المثال المرفق
طريقة اضافة صف واحد فقط
كذلك إضافة كل الصفوف دفعه واحده
بالتوفيق للجميع
ده الكود كله لو محتاج تنسخو وخلاص
وكمان فيه مثال مرفق
لو محتاج تفهم الكود كمل الموضوع
كود :
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'هو صف من صفوف الجريد saf
For Each saf As DataGridViewRow In DataGridView1.Rows
If Not saf.IsNewRow Then
Dim Str As String
Dim Connectionstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\zinom_db.accdb;Persist Security Info=Tru"
Dim newconnection As New OleDbConnection(Connectionstring)
Dim cmds As New OleDb.OleDbCommand
If Not newconnection.State = ConnectionState.Open Then
newconnection.Open()
End If
cmds.Connection = newconnection
Str = "insert into Table1(name,age,adress,phone)" & _
"values (@1,@2,@3,@4)"
cmds.CommandText = Str
cmds.Connection = newconnection
cmds.Parameters.AddWithValue("@1", saf.Cells(0).Value.ToString)
cmds.Parameters.AddWithValue("@2", saf.Cells(1).Value.ToString)
cmds.Parameters.AddWithValue("@3", saf.Cells(2).Value.ToString)
cmds.Parameters.AddWithValue("@4", saf.Cells(3).Value.ToString)
cmds.ExecuteNonQuery()
cmds.Dispose()
newconnection.Close()
End If
Next
MsgBox("تمت عمليةالحفظ بناجح")
End Subسوف تستخدم دالة For Each
لعمل ال loop
وهي كالتالي
متغير اسمه saf اقصد به صف هو صف من صفوف الجريد فيو
شرح الكود
لكل متغير صف الي هيكون من نوع صفوف الجريد فيو
في الجريد فيو رقم 1 . فئة الصفوف
كود :
For Each saf As DataGridViewRow In DataGridView1.Rowsكود :
Dim sadd As DataGridViewRow
For Each sadd In DataGridView1.Rows
Nextيا برنامج اعتبرو صف من صفوف الداتا جريد فيو
- لو الجريد فيو دي عربيه
يبقي sad باب من ابواب العربيه cells شبابيك الباب sad الي هوا باب العربيه
كود :
If Not saf.IsNewRow Thenاذا كان صف ده مش صف جديد
إذاً
ملحوظه : لان الصف الجديد بيكون فاضي
ملحوظه لو ماعملتش الجمله دي هتخرج رساله تقولك ان
الكائن ده مش متعرف او لا ينتمي الي فئه معرفه في برنامجك
زي الرساله دي
ملحوظه : الخطأ ده ممكن نتلاشاه بإننا نستخدم دالة try
لكن اعتقد ان القاعده هيكون فيها صفوف فاضيه مترقمه فقط
فطالما الحل موجود ليه نسيبو
كود :
Try
Catch ex As Exception
End Try
Tryكود :
Dim Str As String
Dim Connectionstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\zinom_db.accdb;Persist Security Info=Tru"
Dim newconnection As New OleDbConnection(Connectionstring)
Dim cmds As New OleDb.OleDbCommand
If Not newconnection.State = ConnectionState.Open Then
newconnection.Open()
End If
cmds.Connection = newconnection
Str = "insert into Table1(name,age,adress,phone)" & _
"values (@1,@2,@3,@4)"
cmds.CommandText = Str
cmds.Connection = newconnection
cmds.Parameters.AddWithValue("@1", saf.Cells(0).Value.ToString)
cmds.Parameters.AddWithValue("@2", saf.Cells(1).Value.ToString)
cmds.Parameters.AddWithValue("@3", saf.Cells(2).Value.ToString)
cmds.Parameters.AddWithValue("@4", saf.Cells(3).Value.ToString)
cmds.ExecuteNonQuery()
cmds.Dispose()
newconnection.Close()بنتعامل هنا مع المتغير صف
بنقولو هاتلي قيمة الخليه رقم صفر الموجوده في الصف الي اسمه صف
كود :
cmds.Parameters.AddWithValue("@1", saf.Cells(0).Value.ToString)هذا وما كان من خطأ فمني ومن الشيطان
والله اعلي واعلم
اعتز لكم اخواني عن الشرح المطول
ولكن كنت اجتهد لايصال الفكره بابسط صورها حتي لا انساها
ويسهل عليا تذكرها
في المثال المرفق
طريقة اضافة صف واحد فقط
كذلك إضافة كل الصفوف دفعه واحده
بالتوفيق للجميع
اللهم صلي علي نبي (الرحمه) محمد رسول الله وبارك علي اله وصحابته والتابعين واحقن دماء امتنا واجعل بأسنا علي اعدائنا يا ارحم الراحمين
[b]امين [/b]
