![]() |
أضيف في: 6-12-1426هـ | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
التعامل مع الكائن ActiveX Data Object (ADO) حيث حان الوقت لندخل لعالم البرمجة الحقيقية حقيقية أخواني ستجدوا مع هذا الكائن الرائع المتعة الكاملة وحان الآن أيضا للتحول من الكائنات القديمة DAO,RDO إلى هذا الكائن الذي به جميع الإمكانيات التي بالكائنين السابقين وأكثر 0 وسبب التأخر في هذه الحلقة أني كنت سأكتب موضوعين قبل هذا الموضوع كتهيئة لهذا الكائن فكنت سأتناول مجموعة من الأدوات التي تتعامل مع قاعدة البيانات مثل Data list و data Combo وdata Grid و Flex grid وكذلك كنت سأخصص حلقة عن جمل SQL داخل الفيجوال ولكن قلت نبدأ بالكائن ثم نخصص هاتين الحلقتين للكائن ADO فهيا بنا الى هذا الكائن . خطوات التعامل مع الكائنات ADO الخطوة الأولى : تعريف الكائنات ADO مثلما تم مع الكائن DAO في مرجع البرنامج References كالتالي : 1 - اضغط قائمة Project واختار References 2 – من الشاشة التي تظهر أختار الكائنين MICROSOFT ACTIVE X DATA OBJECT 2.5 LIBRARY MICROSOFT ACTIVE X DATA OBJECT RECORDSET 2.5 LIBRARY الخطوة الثانية : إنشاء قاعدة البيانات عن طريق برنامج MICROSOFT ACCESSأو برنامج SQL Server أو برنامج Oracle وسوف نتناول كيفية التعامل مع الأنواع الثلاث وهذه هي الميزة الرائعة للكائن ADO والذي يمكنك من التعامل مع عدد ضحم من برامج قواعد البيانات الضخمة . الخطوة الثالثة : تصميم النموذج بوضع مربعات نصوص تعبر عن حقول الجدول المراد استخدامه ووضع أزرار الأوامر المراد استخدامها في النموذج مثل ( إضافة – بحث 0000) كما صنعنا في شاشة بيانات الطلاب . الخطوة الرابعة تعريف متغيرات تعبر عن قاعدة البيانات والجدول التي ستستخدمها ويفضل أنشاء ملف برمجة Module لنعرف فيه كائن قاعدة البيانات كالتالي : CODE
وكذلك يتم تعريف متغيرات تعبر عن الأوامر التي يمكن تنفيذها على قاعدة البيانات وكذلك متغير يعبر عن مجموعة السجلات من جدول أو أكثر والمتغيرات من هذا النوع تعرف داخل كل نموذج على حدة فمثلا في أحد الشاشات سنستخدم الجدولين مثلا جدول العملاء وجدول الأصناف فيتم تعريف متغيرين كالتالي : CODE
وهكذا مع كل جدول سنستخدمه . الخطوة الخامسة في الحدث Form_Load للنموذج الرئيسي للبرنامج يتم فتح قاعدة البيانات ويفضل أن يتم فتح قاعدة البيانات في الشاشة الرئيسية للبرنامج وتظل مفتوحة دائما طالما البرنامج يعمل وهنا نستخدم الأكواد التالية حسب قاعدة البيانات المستخدمة أولا : كود فتح قاعدة البيانات أكسس CODE
ملاحظات على الكود السابق 1 – المزود Provider وهو اسم السائق الخاص بكائن الاتصال بقاعدة البيانات OLEDB والذي سيستخدمه الكائن ADO للوصول لقاعدة البيانات وهو هنا مع برنامج ميكروسوفت أكسس يكون microsoft.jet.OLEDB.4.0 2 – Data Source يوضع فيه مسار قاعدة البيانات حيث يمكنك وضع المسار الكامل لقاعدة البيانات مثل "c:\data base\students.mdb" أو استخدام الدالة App.path إذا كانت قاعدة البيانات مخزنة في نفس مجلد البرنامج . 3 – Connectionstring هي الجملة التي تزود لقاعدة البيانات المزود المستخدم ومسار واسم قاعدة البيانات ويمكنك كتابة الجملة مباشرة كالتالي db.connectionstring = "provider = microsoft.jet.OLEDB.4.0;” & "data source=" & App.Path & "\students.mdb" 4 – ثم بعد ذلك يتم فتح قاعدة البيانات باستخدام الطريقة Open ثانيا : كود فتح قاعدة البيانات SQL Server CODE
ملاحظات على الكود السابق 1 – المزود Provider وهو اسم السائق الخاص بكائن الاتصال بقاعدة البيانات OLEDB والذي سيستخدمه الكائن ADO للوصول لقاعدة البيانات وهو هنا مع برنامج SQL server يكون SQLOLEDB.1 . 2 – رقم المستخدم User ID وهو رقم تعريف المستخدم لقاعدة البيانات حيث رقم المستخدم الافتراضي هو sa حيث من خلاله يمكنك وضع الحقوق والصلاحيات للوصول لقاعدة البيانات لكل مستخدم . 3 – كلمة المرور Password وهي تستخدم للتحقق من المستخدم وإذا كنت تود استخدام الأمن المتكامل في ويندوز 2000 أو ويندوز NT فنستخدم بدلا من رقم المستخدم وكلمة المرور user ID = sa ;password = نستخدم الجملة Integrated Security = SSPI 4– Data Source يوضع فيه اسم خادم SQL Server الذي تستخدمه فعند التعامل مع SQL Server حتى تستطيع إنشاء قاعدة بيانات يجب أن تعرف خادم قاعدة البيانات ويكون له اسم وغالبا يأخذ نفس اسم الجهاز وليكن هنا Nasser فإذا كنت تنشأ برنامج لشبكة شركة يجب أن تعرف من مدير الشبكة اسم خادم قاعدة البيانات . 5 - Initial Catalog وهي الميزة الرائعة لقاعدة البيانات SQL Server أن قاعدة البيانات لا تخزن في ملفات منفصلة بل تخزن على الخادم الرئيسي والذي يمكن الوصول إليه من أي جهاز عميل وهنا تضع اسم قاعدة البيانات المنشأة على الخادم Students ويوضع بدون مسار . 6 – Connectionstring هي الجملة التي تزود لقاعدة البيانات المزود المستخدم . 7 – ثم بعد ذلك يتم فتح قاعدة البيانات باستخدام الطريقة Open . الخطوة السادسة فتح الجدول المطلوب وكما قلنا سابقا انه يتم تعريف متغير لكل جدول ستستخدمه ويوضع التعريف في منطقة تعريف المتغيرات في أعلى النموذج ثم يتم فتح الجدول المطلوب بكتابة الكود التالي : CODE
ملاحظات على الكود السابق 1- حيث السطر الأول يتأكد أن الجدول غير مفتوح فإذا كان مفتوح يتم إغلاقه حتى لا يحدث خطأ أنك تقوم بفتح عنصر مفتوح قبل ذلك . 2 - والسطر الثاني جملة فتح جدول وهي تحتوي على أربع بارامترات الأول : اسم الجدول المراد فتحة ويوضع بين علامتي تنصيص وإن كان الاسم يحتوي على كلمتين منفصلتين ينبغي وضعه بين قوسين"[st Info]" . الثاني : اسم قاعدة البيانات التي تستخدمها وهنا نضع المتغير الذي استخدمناه . الثالث : نوع المؤشر courser type أو نوع السجلات وهنا يوجد أربعة انواع من المؤشرات أو السجلات ملاحظة : يطلق على مجموعة الصفوف العائدة من الجدول اسم السجلات عند استخدام أكسس أو المؤشرات عند استخدام SQL Server . النوع الأول DYNAMIC RECORDSET وهذا النوع من أكثر الأنواع مرونة حيث يتم التعامل مع السجلات عن طريق مؤشرات تعبر عن السجلات الحقيقة في الجدول ولذلك تستهلك مقدار من الذاكرة ويتم استخدام هذا النوع كالتالي CODE
النوع الثاني FORWARDONLY RECORDSET وهي تسمح بالتحرك داخل السجلات في الاتجاه للأمام فقط حيث يمكن استخدام جملة MoveNext ولا يمكن استخدام جملة MovePrevious ويتم فتح الجدول بهذا النوع من السجلات كالتالي CODE
النوع الثالث : KEYSET RECORDSET يشبه نوع السجلات Static ولكن يتميز عنه قدرته على رؤية التغييرات التي تتم على السجلات ويمكن التحرك داخل السجلات للمام وللخلف يتم فتح هذا النوع من السجلات كالتالي CODE
النوع الرابع : STATIC RECORDSET وهو يشبه إلى حد بعيد Snapshot في كائنات DAO وهو للقراءة فقط ولا يرى التعديلات التي تقع على السجلات ويمكن فتح هذا النوع من السجلات كالتالي rs.Open " st_inf ", db, adOpenStatic, adLockOptimistic الرابع : وهو نوع التزامن المطلوب للسجلات هناك أربع أنواع للتزامن عند التعامل مع السجلات حيث التزامن يقصد به نفس المفهوم للتزامن في الشبكات حيث إذا كان قام عميل أثناء عدم الاتصال بعرض بيانات وتم تعديلها أثناء عدم الاتصال فإن البيانات سيتم تحديثها بعد الاتصال مباشرة AdLockReadOnly حيث يتم فتح السجلات للقراءة فقط حيث لا يستطيع المستخدم تعديل السجلات أو تحديثها ويمكن لأكثر من مستخدم قراءة نفس السجلات في نفس الوقت . AdLockPessimistic وهو شكل صارم حيث يتم إغلاق السجل عندما يبدأ البرنامج بالتعامل معه حيث يمكن للمستخدمين الآخرين قراءة السجل ولا يمكنهم التعديل فيه أثناء تعديل البرنامج له وبعد تعامل البرنامج مع السجل يتم تحرير القفل ويستطيع المستخدمون الآخرون التعامل مع السجل وعرضه . AdLockOptimistic حيث يتم وضع أقفال لفترة صغيرة على السجلات أثناء تحديثها وهذا النوع الأكثر شيوعا والأفضل حيث يتم استخدامه بصورة دائمة ولكنه بطيء بعض الشيء . AdLockBatchOptimistic نفس النوع السابق ولكن يستخدم مع مجموعة السجلات المفصولة حيث يتم فصل السجلات للتعديل من العميل ثم يقوم بالاتصال بالملقم لحفظ التعديلات على قاعدة البيانات . |
||||||||||||||||||||||||||||||||||||
الكاتب: LaSer_26 |
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() |
|||||||||||||||||||||||||||||||||
خيارات الدرس : ![]() ![]() ![]() |