fighters

    الدرس الأول من احتراف صناعة البرمجيات الخاصة بالتعامل مع قواعد البيانات

    شاطر
    avatar
    fighter
    الـمـديـرالـعـام
    الـمـديـرالـعـام

    عدد الرسائل : 226
    العمر : 29
    مزاجى :
    تاريخ التسجيل : 16/04/2008

    03 الدرس الأول من احتراف صناعة البرمجيات الخاصة بالتعامل مع قواعد البيانات

    مُساهمة من طرف fighter في الخميس مايو 01, 2008 8:50 pm



    حول كائن الوصول للمعطيات DAO:

    About the Date Access Object (DAO)

    مكتبة DAO عندما قامت Microsoft بتصنيع مكتبة DAO كانت مصنعة للتعامل مع MS Access وكان هذا من أكبر عيوبها لأنها لا تتعامل مع ORACLE أو SQL
    Server فكان لابد علي Microsoft أن تقوم بعمل مكتبة لتعامل مع أي نوع من
    أنوع قواعد البيانات سواء السابقة أو اللاحقة في المستقبل و إلا أصبحت
    مستخدم لقواعد البيانات فبعد ذلك تم ظهور مكتبة RDO وبعد ذلك كما ذكرنا تم
    ظهور مكتبة الـ ADO التي شملت كل هذا وأكثر لذلك سأقوم بشرح كتبة DAO وADO
    وسوف أستغني عن مكتبة RDO لأن الـ ADO أقوه منها.

    نرجع لموضوعنا

    · كيفية التعامل مع مكتبة DAO.


    الكود:
    Dim DB As [u][color=#bb66ff]DataBase[/color][/u]
    Dim RS As Recordset

    في هذا الكود قمت بتعريف متغير أسمه DB نوعه DataBase
    لكي يتم التعامل وفتح اتصال مع قاعدة البيانات, وعمل متغير أخر أسمه RS
    نوعه Recordset لكي يقوم بالتعامل مع الحقول وقت قمت بتعريفهم في منطقة
    General_Declarations لكي تكون معرفة علي مستوي الـ Form


    بعد
    ذلك نقوم بكتابة الكود الخاص بالتعامل مع قاعدة البيانات والكود الخاص
    بالتعامل مع الجدول الموجود داخل قاعدة البيانات ويكون كما يلي

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

    أسم الجدول CUST





    نقوم بفتح VB6 سيتم ظهور شاشة


    يتم
    اختيار Standard EXE كما بالصورة السابقة ثم اختيار Open سيتم فتح شاشة
    VB6 سنقوم بأول شيء بعمل فتح لمكتبة DAO عن طريق قائمة Project ثم
    اختيارReferences


    سيتم ظهور شاشة سيتم اختيار مكتبة DAO


    ثم OK

    ملاحظة:- تلاحظ وجود مكتبتين بنفس الاسم ولكن بإصدارتين مختلفين:

    Microsoft DAO 3.51 Object Library لتعامل مع Access 97

    Object Library Microsoft DAO 3.6 لتعامل مع Access XP,2003 ويمكنها ضبعا التعامل مع Access97 لأنها إصدار أحدث من 3.51 .



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

    الكود:
    Private Sub Form_Load()

        Set DB = OpenDatabase("db1.mdb")
        Set RS = DB.OpenRecordset("cust", 2)
     
    End Sub


    هنا في هذا الكود تم مساواة المتغير DB بالعنصر OpenDatabase ويقوم بتوصيلها بقاعدة البيانات DB1.mdb

    بعد
    ذلك يقوم بمساواة المتغير RS بقاعدة البيانات المفتوحة ويقوم بفتح الجدول
    Cust ونوع الفتح يكون 2 وتعني Dynamic أي يقدر يعمل إضافة وحذف وتعديل من
    قاعدة البيانات.

    سيتم تنفيذ كل هذا بمجرد تحميل Form1.

    هل سيتم تنفيذه فعلا؟ طبعا - لا ولماذا؟

    جرب وقم بعمل Run للبرنامج عن طريق F5 أو عن طريق الأيقونة الموجودة بشريط الأدوات



    سيتم ظهور رسالة خطأ



    معني الرسالة أنه ملف قاعدة البيانات DB1.mdb غير موجود.

    وسبب
    هذا الاعتراض عدم تحديد الباص الخاص بالمشروع ويتم ذلك عن طريق عمل Save
    As للمشروع عن طريق قائمة File واختيار Save Project asسيتم ظهور شاشة يتم
    اختيار مكان قاعدة البيانات ويتم حفظ المشروع بالكامل



    وبعد ذلك قم بإغلاق الـ Visual BASIC وقم بالذهاب إلي المكان المحفوظ به البرنامج وقم بالتشغيل عن طريق ملف المشروع ذو الامتداد Vbp


    ملاحظة
    مهمة جدا:- أول شيء تقوم بعملة عند العمل علي مشروع أول شيء تقوم بعمل
    Folder للمشروع وبعد ذللك تقوم بفتح VB ثم تقوم بفتح قائمة Project .


    سيتم ظهور شاشة يتم كتابة اسم البرنامج بها


    ثم
    بعد ذلك نقوم بعمل Save Project As في نفس Folder الموجود بهي قاعدة
    البيانات ثم بعد ذلك نقوم بإغلاق البرنامج ومن ثم التشغيل مرة أخري من
    أيقونة البرنامج الموضحة سابق.

    نرجع تاني لمشروعنا بعد أجراء الخطوات السابقة قم بتجريب البرنامج وشوف سيتم العمل معك أم لا.

    سؤال: كيف أعرف أن الاتصال بقاعدة البيانات تم ؟

    لو تم ظهور Form1 بدون مشاكل فاعلم أن Connection.

    فيما
    سبق كنت بتقول للبرنامج أفتح لي قاعدة البيانات التي تسمي DB1.mdb كان
    يبحث عنها لا يجدها أما الآن بعد عمل الليلة المذكورة أعلاة عند البحث عن
    قاعدة البيانات يجدها في Folder المحدد لها ويتم فتح الاتصال.

    مرحله وضع الأدوات علي الـ Form1 :-

    نقوم بوضع الأدوات علي الـ Form


    طريقة عمل البرنامج.

    عند الضغط علي زر New سيقوم RS بعمل سجل جديد لاستقبال البيانات.

    عند الضغط علي زرSave سيقوم RS بحفظ البيانات المرسلة إلية عن طريق أدوات الـ Text الموجودة علي الـ Form.

    كود NEW
    الكود:

    Private Sub Command1_Click()

       
        Text1.Text = ""
        Text2.Text = ""
        Text3.Text = ""
        Text4.Text = ""
     
        RS.AddNew
             
    End Sub

    في هذا الكود تم مسح جميع الـ Text الموجود علي الـ Form ثم قيام RS بعمل سجل جديد جاهز لاستقبال البيانات.

    كود Save

    الكود:
    Private Sub Command2_Click()
     
        RS("name") = Text1.Text
        RS("code") = Text2.Text
        RS("phone") = Text3.Text
        RS("address") = Text4.Text

        RS.Update
     
        MsgBox "تم حفظ البيانات"
     
    End Sub

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

    بعد كتابة الكود بشكل سليم جرب البرنامج وتأكد من عمله بشكل سليم.

    في الحلقة القادمة إن شاء الله سيتم شرح كود Find وكيفية عمل Find من خلال Combobox

    وسيتم شرح لغة SQL وبالأخص جمل SELECT.








    _________________

      الوقت/التاريخ الآن هو الأحد أغسطس 19, 2018 3:51 pm