منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي

منتديات برامج نت

برامج كمبيوتر و انترنت لغات برمجه و تطوير مواقع قسم خاص بالتصميم و الجرافيك
 
الرئيسيةPortalاليوميةس .و .جالأعضاءالمجموعاتالتسجيلدخول
اهلاوسهلا بكم في منتديات برامج نت ارجو من جميع الزوار التسجيل مع تحيات $الادارة$

شاطر | 
 

 الاوامر الاساسية التحكم في قاعدة البيانات

اذهب الى الأسفل 
كاتب الموضوعرسالة
DESGINER

المدير العام...}


avatar


مُساهمةموضوع: الاوامر الاساسية التحكم في قاعدة البيانات   الخميس مارس 19, 2009 3:51 am

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته


سوف يكون هذا الدرس كمتابعة لدرس السابق الذي طرحته وقد حرصت على ان اقوم بعمل هذا الدرس لجعل برنامجك الذي سوف تصنعه اكثر مرونه وخالي من الاخطأ فمثلا ليس المستخدم مثلك انت صانع البرنامج فالمستخدم قد يضغط زر الحذف وهو غير محدد سجل او لا توجد سجلات في قاعدة البيانات لتظهر له رسالة الخطأ اما انت فاعرف بكودات البرنامج لن تقوم بهذه الخطوة لذا سوف نقوم بجعل البرنامج الذي قمنا بصنعه في الدرس السابق خالي من الاخطأ سوف نبدء من زر التعديل كل ما يلزمنا هنا التحقق من ان المستخدم قد اختار سجل ليقوم بتعديله وسوف نستخدم في هذا التحقق الخاصية AbsolutePosition التي تقوم باعطائنا رقم السجل المختار واذا لم يكن هنالك من سجل محدد سوف تكون القيمة عندئذ -1 اتصور ان الفكرة قد توضحت الان فكل ما يلزمنا هنا بان نكتب جملة التحقق بالشكل الاتي


كود PHP:
If Data1.Recordset.AbsolutePosition = -1 Then


مثل ما ذكرت -1 تعني لا يوجد سجل محدد بالجملة السابقة تقوم بالتحقق واذا كان يساوي -1 اي لا يوجد سجل محدد لتعديل يقوم البرنامج بتنفيذ حدث معين فلو اردنا ان نضع كود التعديل كاملا سوف يكون بالشكل الاتي


كود PHP:
Private Sub Command2_Click()
If Data1.Recordset.AbsolutePosition = -1 Then
MsgBox "Your Message"
Else
Data1.Recordset.Edit
Data1.Recordset.Fields!الاسم = Text1.Text
Data1.Recordset.Fields!العمر = Text2.Text
Data1.Recordset.Fields!العنوان = Text3.Text
Data1.Recordset.Update
End If
End Sub


فلو اردنا شرح الكود السابق : رح يكون الشرح كالاتي في السطر الاول قمنا بالتحقق هل هنالك سجل محدد لتعديله ام لا فاذا لم يكن هنالك سجل محدد فيقوم بالاتي وهو عرض رسالة للمستخدم اما اذا لم يتحقق الشرط اي كان هنالك سجل محدد فيقوم البرنامج بعملية التعديل
وفي هذه الحالة سوف نظمن عدم حصول خطأ في كود التعديل سببه عدم اختيار سجل وبعد جعل كود التعديل اكثر صلابة نقوم بالانتقال الى كود الحذف الذي سوف تكون جملة التحقق نفس الجملة السابقة ليكون الكود بالشكل الاتي


كود PHP:
Private Sub Command3_Click()
If Data1.Recordset.AbsolutePosition = -1 Then
MsgBox "Your Message"
Else
Data1.Recordset.Delete
End If
End Sub


نفس العميلة التي قكمنا بها في كود التعديل قمنا بالتحقق من اختيار المستخدم وتنفيذ اوامر على حسب ذلك من هنا ضمنا سير البرنامج بصلابة من حفظ , تعديل , حذف بيانات فكر قليلا معي الان في كود الانتقال الى السجل الاول والاخير اذا كانت قاعدة البيانات فارغة واردنا الانتقال الى السجل الاول الذي سوف يكون غير موجود الن يحصل خطأ يقتل البرنامج بالتاكيد سوف يحصل اذن ما العمل العمل هو ان تمسك يدي ونقوم انا وانت بكتابة جملة التحقق من عدد السجلات والتي سوف نستخدم فيها الخاصية RecordCount التي ترجع قيمة رقمية وهي عدد السجلات في قاعدة البيانات وتبدء الترقيم من الصفر وبهذا سوف يكون الكود بالشكل الاتي


كود PHP:
Private Sub Command5_Click()
If Data1.Recordset.RecordCount = 0 Then
MsgBox "Your Message"
Else
Data1.Recordset.MoveFirst
End If
End Sub



الموضوع سهل جدا لقد وضعنا شرط لتحقق من عدد السجلات فاذا كانت صفرا يقوم باظهار رسالة للمستخدم تقوم بتنبيه اما اذا كانت عدد السجلات اكثر من واحد فسوف يتنفذ الحدث بكل سلاسة وكذلك الكود سوف يكون بالنسبه لكود الانتقال الى السجل الاخير ونفس الشرط السابق انتهينا تقريبا ,, لكن هل تفكر بما افكر به بقى لدينا زرا امر وهي الانتقال الى السجل التالي والانتقال الى السجل السابق ما الخطأ الذي نتوقعه منهم الخطأ الذي نتوقعه هو ان يقوم البرنامج بالانتقال من السجل الاخير الى الفراغ اي يخرج من فهرسة وعند محاولة الانتقال سوف يظهر الخطأ لحل هذه المشكله سوف نقوم بوضع كود بسيط لتحقق من اذا كان البرنامج واقف على السجل الاخير فاذا كان واقف على السجل الاخير لا ينفذ حدث الانتقال حتى لا يخرج من الفهرسة واذا كان واقف على السجل الاول ويحاول الرجوع لا يسمح له بذلك سوف نقوم في هذان الكودان باستخدام الخواص Eof و Bof وكلتاهما تعطين قيم هي اما True او False والخاصية Eof هي لتحقق اذا كان البرنامج خارج اطار الفهرسة من بعد مروره على السجل الاخير والخاصية Bof لتحقق من اذا ما كان البرنامج خارج اطار الفهرسة بعد مروره على السجل الاول فسوف يكون الكود بكل بساطة كالاتي


كود PHP:
Private Sub Command4_Click()
If Data1.Recordset.EOF = True Then
Your Command
Else
Data1.Recordset.MoveNext
End If
End Sub


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


كود PHP:
Private Sub Command6_Click()
If Data1.Recordset.BOF = True Then
Your Command
Else
Data1.Recordset.MovePrevious
End If
End Sub


والشرح نفس الشرح السابق للمزيد من المعلومات حول تفادي الاخطأ ومحاولة قنصها يمكنك مراجعة موضوعي من خلال الرابط الاتي
نهاية الدرس
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
الاوامر الاساسية التحكم في قاعدة البيانات
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات برامج نت :: :::: المنتديات التقنيـــــه :::: :: لغات البرمجه :: الفيجول بسيك-
انتقل الى: