تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الحفظ والحذف و البحث باستخدام ado
#1
بسم الله الرحمن الرحيم
إخواني الأعزاء .. تحية طيبة .. وبعد

في الدرس السابق " طريقة التعامل مع قاعدة البيانات وربطها بالفيجوال بيسك 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 " مثلا إذا كنت تريد البحث عن طريق الاسم وهكذا ..
ويجب أن تكون هذه الكلمة مطابقة تماما لعنوان الحقل في الجدول فلو فقد حرف منها لن تستطيع اتمام عملية البحث .


بذلك نكون قد انتهينا من الدرس وبالله التوفيق


ادعوا لي بالشفاء
الرد }}}
تم الشكر بواسطة: sulimanalahdl , awidan76


الردود في هذا الموضوع
الحفظ والحذف و البحث باستخدام ado - بواسطة ENG.MPROG - 11-12-12, 06:53 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طلب مساعدة " البحث بأكثر من معامل " (صاحب البرنامج الأصلي Raggi Tech ) AEDC 7 3,000 18-06-23, 12:23 PM
آخر رد: Taha Okla
  كيف استخدم خاصيه (thread) في امر زر البحث من قاعده بيانات مثلا (mdb) او (mysql) scsi7000 0 971 29-07-22, 10:53 AM
آخر رد: scsi7000
  تعلم كيف تربط برنامجك بالاكسس باستخدام مكتية Ado مع العمليات الاساسية hago 29 55,475 12-06-20, 05:41 PM
آخر رد: ahmed250
  مشكلة في البحث والتعديل في البرنامج thams 1 2,446 29-01-17, 10:04 PM
آخر رد: عبد العزيز البسكري
Lightbulb أريد كود البحث لبرنامج ترجمة (قاموس) Emad Nashaat 1 2,473 03-07-16, 12:27 PM
آخر رد: amer2000
  كود البحث فى جدولين اسلام الكبابى 4 5,662 13-06-15, 03:50 AM
آخر رد: اسلام الكبابى
  اضافة سجل باستخدام الكود اسلام الكبابى 1 2,940 25-03-15, 09:05 PM
آخر رد: اسلام الكبابى
Question [سؤال] سؤال في البحث بإستخدام Combo allayl 2 3,803 14-06-14, 01:23 AM
آخر رد: allayl
Sad [كود] محتاج كود البحث الداتا قريد ماجد الحربي2008 0 2,575 15-05-14, 05:50 AM
آخر رد: ماجد الحربي2008
Wink [كود] المساعد في كود البحث عن سنة معينة allayl 10 6,453 30-03-14, 12:43 PM
آخر رد: تركي الحلواني

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


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