url=http://www.0zz0.com]الدرس الرابع : الاوامر الاساسية التحكم في قاعدة البيانات ( الجزء الثاني ) 769147144[/url]

انت غير مسجل لدينا
يشرفنا انظمامك الى اعظاء المنتدى
رجاء قم بالتسجيل اولا


انضم إلى المنتدى ، فالأمر سريع وسهل


url=http://www.0zz0.com]الدرس الرابع : الاوامر الاساسية التحكم في قاعدة البيانات ( الجزء الثاني ) 769147144[/url]

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

الدرس الرابع : الاوامر الاساسية التحكم في قاعدة البيانات ( الجزء الثاني )

اذهب الى الأسفل

الدرس الرابع : الاوامر الاساسية التحكم في قاعدة البيانات ( الجزء الثاني ) Empty الدرس الرابع : الاوامر الاساسية التحكم في قاعدة البيانات ( الجزء الثاني )

مُساهمة من طرف صانع برامج الإثنين أبريل 19, 2010 4:18 pm

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


سوف يكون هذا الدرس كمتابعة لدرس السابق الذي طرحته وقد حرصت على ان اقوم بعمل هذا الدرس لجعل برنامجك الذي سوف تصنعه اكثر مرونه وخالي من الاخطأ فمثلا ليس المستخدم مثلك انت صانع البرنامج فالمستخدم قد يضغط زر الحذف وهو غير محدد سجل او لا توجد سجلات في قاعدة البيانات لتظهر له رسالة الخطأ اما انت فاعرف بكودات البرنامج لن تقوم بهذه الخطوة الدرس الرابع : الاوامر الاساسية التحكم في قاعدة البيانات ( الجزء الثاني ) Smil لذا سوف نقوم بجعل البرنامج الذي قمنا بصنعه في الدرس السابق خالي من الاخطأ سوف نبدء من زر التعديل كل ما يلزمنا هنا التحقق من ان المستخدم قد اختار سجل ليقوم بتعديله وسوف نستخدم في هذا التحقق الخاصية 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




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

عدد المساهمات : 415
0
تاريخ التسجيل : 05/04/2010
العمر : 37
الموقع : برامج x

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى