بسم الله الرحمن الرحيم
إخواني الأعزاء .. تحية طيبة .. وبعد
إخواني الأعزاء .. تحية طيبة .. وبعد
في الدرس السابق " طريقة التعامل مع قاعدة البيانات وربطها بالفيجوال بيسك 6 " تعلمنا كيفية إنشاء وربط قاعدة البيانات بالبرنامج وطريقة عرض البيانات داخل Datagrid مع مجموعة من التكست بوكس ..
وفي هذا الدرس ان شاء الله نتعلم كيفية كتابة اكواد الحفظ والحذف والبحث باستخدام مكتبة ADO اعتماداً على المشروع في الدرس السابق .
اولا : الحفظ :
1- ضع على مساحة العمل لديك - Form - من صندوق الادوات 4 من اداة Command و 1 من اداة TextBox ليصبح عندك إجمالا 4 command و 4 text - اعتمادا على مشروعنا السابق في الدرس السابق - .
2- قم بتغيير عناوينهم من شاشة الخصائص من الخاصية " Caption " إلى إضافة و حفظ و حذف و بحث .
3- اكتب الكود التالي في زر " إضافة " .
كود :
Adodc1.Recordset.AddNew
4- اكتب الكود التالي في زر " حفظ " .
كود :
Adodc1.Recordset.Update
بالنقر على زر " إضافة " فإن جميع الحقول والتكست بوكس الممثِّلة لهذه الحقول في السجل الجديد الذي قمت بإضافته تصبح فارغة بالكامل استعدادا لإدخال بيانات جديدة .
لكن في بعض الأحيان إذا أردنا حفظ بيانات في حقول بعينها مثل الحقل رقم 2 فقط أو 2 و3 فقط أو 1 و3 في الجدول الاساسي في قاعدة البيانات فيجب علينا معرفة رقم الحقل وذلك عن طريق العد علماً بأن العد يبدأ برقم 0 ، فالحقل رقم 2 الذي تراه بعينك هو في الحقيقة رقم 1 بالنسبة للبرنامج . لذلك نعمد للكود التالي لحفظ حقول بعينها :
كود :
Adodc1.Recordset.Fields(1) = Text2
وهكذا ..
ملاحظة :
في بعض الأحيان عند الضغط على زر " إضافة " ثم الخروج مباشرة من البرنامج تظهر لك رسالة خطأ تفيد أنه لا يمكن حفظ سجل فارغ ، لذلك نكتب في حدث " unload " مايفيد بأن الحقول كلها أو أهمها مثل الاسم مثلا إذا كانت فارغة فقم بحذف السجل وذلك على النحو التالي :
كود :
On Error Resume Next
If Text1 = "" Then Adodc1.Recordset.Delete
أو
كود :
If Text1 = "" Then Adodc1.Recordset.CancelUpdate
ثانيا : الحذف :
قم بكتابة الكود التالي في زر " حذف " :
كود :
On Error Resume Next
Adodc1.Recordset.Delete
بإمكانك تطوير الكود السابق بطريقة أفضل على النحو التالي :
كود :
On Error Resume Next
Dim a, b As String
a = MsgBox("هل تريد الحذف بالفعل ؟", vbQuestion + vbYesNo)
If a = 6 Then
GoTo x1
Else
GoTo x2
End If
x1: Adodc1.Recordset.Delete
If Adodc1.Recordset.RecordCount = 0 Then
b = MsgBox("لا يوجد سجلات", vbInformation)
End If
x2: Exit Sub
ثالثا : البحث :
قم بكتابة الكود التالي في زر " بحث " :
كود :
Me.Adodc1.Recordset.Filter = " [Phone] LIKE '" & Me.Text4 & "*' "
اكتب في حدث " Change " للتكست بوكس رقم 4 :
كود :
On Error Resume Next
If Text4 = "" Then
Me.Adodc1.Refresh
Me.Adodc1.Recordset.MoveLast
Else
Me.Adodc1.Recordset.Filter = " [Phone] LIKE '" & Me.Text4 & "*' "
End If
ملاحظة :
كلمة " Phone " هي الحقل الذي تريد البحث فيه على كامل الجدول ، أي بإمكانك حذفها و كتابة " Name " مثلا إذا كنت تريد البحث عن طريق الاسم وهكذا ..
ويجب أن تكون هذه الكلمة مطابقة تماما لعنوان الحقل في الجدول فلو فقد حرف منها لن تستطيع اتمام عملية البحث .
بذلك نكون قد انتهينا من الدرس وبالله التوفيق
ادعوا لي بالشفاء