بسم الله الرحمن الرحيم
الاخوة الخبراء والاعضاء:
لدي خبري كافية في المعلومات التقليدية والنمطية للأكسيس.ولكن عرفت ان اكسيس بدون برمجة واكواد لايسوي شئ.
لذا ارجو بداية توضيح الفرق بين ado و dao وكيف استخدامهما مع الاكسيس .
بسم الله الرحمن الرحيم
الاخوة الخبراء والاعضاء:
لدي خبري كافية في المعلومات التقليدية والنمطية للأكسيس.ولكن عرفت ان اكسيس بدون برمجة واكواد لايسوي شئ.
لذا ارجو بداية توضيح الفرق بين ado و dao وكيف استخدامهما مع الاكسيس .
لاتأسفن علي غدر الزمان لطـــــالما رقصت علي حثث الأســـــود كلاب
لاتحسبن برقصها تعلو علي أسادها تبقي الأسود أسودا والكلاب كلاب
ببساطه اذا كانت قاعدة بياناتك معتمده كليا على الاكسس ف dao هي الافضل للتعامل معها من حيث الوظائف و التعاملات
انا اذا كانت تنوي استخدام تقنيه زبون - خادم ( اي قاعدة بياناتك على احد قواعد البيانات المعتمده على سيرفر مثلا اس كو ال مايكروسفت او اوراكل ) ف ado معها افضل من حبث الوظائف و التعاملات
ملوحوظه : الوظائف و التعاملات تطلق على جميع العمليات من حيث البرمجه او الاستعلام
يا عيالي كلكم .... افطنوا في حالكم
التنازع ذلكم .... والتصافي منفعه
المحتاج امشوا بحقه .... لو بدت منه المشقه
وانكثر بالقلب دقه .... طوبيتك واشعله
اشكرك يااخي علي الرد وان كانت الي مزيد من الشرح
لاتأسفن علي غدر الزمان لطـــــالما رقصت علي حثث الأســـــود كلاب
لاتحسبن برقصها تعلو علي أسادها تبقي الأسود أسودا والكلاب كلاب
يا عيالي كلكم .... افطنوا في حالكم
التنازع ذلكم .... والتصافي منفعه
المحتاج امشوا بحقه .... لو بدت منه المشقه
وانكثر بالقلب دقه .... طوبيتك واشعله
أخي الغالي
أبو عبد الرحمن
السلام عليكم ورحمة الله وبركاتة
تفضل شرح أكثر تفصيلا عن تقنية ADO وتقنية DAO
الان سننظر نظرة شاملة على ADO و كائناتها .
إن ADO آو ما يسمى ActiveX Data Objects هي عبارة عن مجموعة كائنات تقدمها ميكروسوفت للوصول الى مختلف مصادر البيانات و اجراء العمليات على هذه البيانات .و هذه الكائنات هي كائنات ActiveX طبعا و هي تستخدم تقنية OLE DB ( وهي تقنية تمكن المستخدم من الوصول إلى مصادر البيانات باستخدام لغة أوامر موحدة مهما كان نوع مصدر البيانات – اكسس أو SQL Server أو Orcle … ) و تقوم ADO بتغليف هذه التقنية و تقديمها لنا بشكل كائنات مشابهة لما هو موجود بلغات البرمجة.
لماذا استخدام ADO ؟
سؤال منطقي؟ لماذا نترك كل خبرتنا و معطياتنا عن DAO و نحل مكانها كائنات جديدة و غريبة اسمها ADO ؟
الإجابة هي في هذه المميزات التي تقدمها ADO و التي تفتح الشهية للعمل معها:
1 – الاقتصاد في استخدام الكائنات : فالكائنات التي نحتاجها للوصول للبيانات عددها قليل مقارنة ب DAO فمثلا لفتح سجلات في DAO نحن بحاجة لتحميل 4 أو 5 كائنات ( DBEngine و WorkSpace و DataBase و Recordset و ممكن Index …الخ) بينما في ADO من الممكن الوصول للسجلات باستخدام كائن واحد فقط هو Recordset ( وفي هذه الحالة يتضمن كائن Connection داخلي) . وهذا يجعل ADO أسرع ,أقل حملا على الجهاز , أخف على قلب المبرمج
2 – استقلالية الكائنات : فكل كائن مستقل عن الآخر عند إنشاءه - كما سترون في الشرح الاتي - و يتم الربط لاحقا أثناء وقت التنفيذ و هذه الميزة تمكننا من استخدام الكائنات التي نحتاجها فقط دون الحاجة لفتح كائنات لا داعي لها ( مثلا قد تستخدم فقط RecordSet دون Command أو Parameter.. فلا داعي لتحميلها).
3 – الدعم القوي : فقد صرحت مايكروسوفت جهرا أن المستقبل ل ADO و أن DAO في طريقها للاضمحلال . و يمكن ملاحظة ذلك من أن جميع الكائنات و عناصر التحكم الجديدة تدعم فقط ADO . و كذلك اتجاه معظم البرمجيات الحديثة لاستخدام هذه التقنية .
4 – دعمها لطرق حديثة في التعامل مع البيانات مثل : السجلات المتوارثة ( Hierachical Recordsets ) ودعم الاجراءات المخزنة
Stored Procedures التي يمكن تمرير و استعادة قيم منها.
و هناك ميزات أخرى لها علاقة بصلب بينة ADO لا داعي لذكرها.
كائنات ADO
عن كائنات ADO القياسية هي :الاتصال Connection ,مجموعة السجلات Recordset , الحقل Field ,الأمر Command ,الوسيطة Prameter ,الخاصية Property , الخطأ Error , المجموعات Collections .
و بنية كل من هذه الكائنات موضحة بالشكل:
Connection : وهو الكائن المسؤول عن إنشاء اتصال بمصدر البيانات و الذي قد يكون مصدر OBDC أو ملف قاعدة بيانات ( أي فتح قاعدة البيانات للاستخدام ) .
Recordset : وهو الكائن الذي يمثل مجموعة السجلات التي سوف يتم التعامل معها أو إرسالها لمصدر البيانات و هو يتكون من سجلات و حقول.
Field : وهو الكائن الذي يمثل الحقل في أي سجل.
Command : يقوم هذا الكائن بتنفيذ أوامر معينة أو عمليات على قاعدة البيانات ليعيد قيم أو سجلات و غالبا ما تكون هذه الأوامر بشكل عبارة SQL.
Parameter : وهو كائن تابع لكائن Command يقوم بتخزين الوسائط و القيم التي قد يستخدمها Command . مثلا قد يخزن الكائن Parameter قيمة معادة من استعلام في قاعدة البيانات عن طريق تنفيذ Commnad أو لتخزين قيمة متغيرة لنستخدمها أثناء تنفيذ جملة SQL في Command.
Property : و هي باختصار كائن يمثل عنصر في خواص موجودة بكائن آخر و الذي قد يكون ( Connection أو Recordset أو Command أو Field ) و مثل أية خواص كائنات فيجوال بيزيك و لكن لا يمكن إضافة خواص لكائنات ADO و إنما يتم تعريف الخواص عند إنشاء الكائن
Error : وهو كائن يحتوي على معلومات تفصيلية عن خطأ ما .
Collection : وهناك عدة مجموعات في ADO و هي تابعة لكائنات و هي
أ - الكائن Connection يحتوي على مجموعة اسمها Errors تمثل كائنات Error .
ب – الكائن Recordset يحتوي على مجموعة الحقول Fields تمثل كائنات الحقول .
جـ - الكائن Command : يحتوي على مجموعة الوسائط Parameters تمثل الكائن Parameter .
د – بالإضافة لمجموعات Properties التي سبق ذكرها
وفي النهاية اود ان اضع لك رابط عن كتاب يتحدث عن تقنية DAO من خلال هذا الرابط
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 26 يوليو 2008 في 10:38


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