بناء تطبيقات قواعد البيانات بأستخدام #c سى شارب (ورشة عمل)

الموضوع في 'قسم شروحات لغات البرمجة و التطوير' بواسطة silkroad4world, بتاريخ ‏1 أغسطس 2016.

  1. silkroad4world

    • المدير العام

    Manager Xenforo
    عضو منذ:
    ‏31 يوليو 2016
    عدد المشاركات:
    23
    تتألف الورشة من أحد عشر جلسة يتوزع محتواها كما يلي:
    • جلستان تعريفيتان ببيئة NET Framework. و أساسيات syntax لغة البرمجة #C وبرنامج Visual Studio.
    • ثلاث جلسات للتعريف بأساسيات ومبادئ البرمجة غرضية التوجه OOP.
    • أربع جلسات للتعريف بالمفاهيم الأساسية المتعلقة بقواعد البيانات SQL Server 2008 والتعليمات الأساسية في لغة SQL.
    • جلستان للتعرف على كيفية الربط بين قواعد البيانات SQL Server ولغة #C.
    • سيتم خلال الورشة بناء مشروع يتضمن كافة المفاهيم الواردة في الورشة.

    أقوم بتحديث هذه الصفحة باستمرار وطرح الأفكار الرئيسية للجلسات والإجابة على الأسئلة التي قد تخطر في بالكم ،كما ستجدون في هذه الصفحة آخر أخبار الورشة وجميع ملفات التدريبات المتعلقة بها.


    الجلسة الأولى :
    على الرغم من أننا واجهنا بعض الصعوبات في تأمين جهاز الإسقاط مما أدى إلى تأخر بدء الجلسة لمدة عشر دقائق إلا أن الجلسة كانت متميزة بتوفيق من الله عز وجل ،والمميز هو أن الحضور كانوا إيجابيين ومتفاعلين بشكل مشجع جداً - أتوجه لهم بالشكر جميعاً [​IMG] - وملخص الأفكار التي تناولتها الجلسة :
    1- ما المقصود ببيئة Net Framework. ؟؟
    هي بيئة عمل بدأت ببناءها شركة Microsoft في عام 2000 وتم إطلاقها رسمياً في 13/2/2002 ،تحتوي على عدد كبير جداً من المكاتب التي تسهل بناء التطبيقات والمواقع ،وتدعم عدد من لغات البرمجة أهمها Visual Basic و #C و ++C ،وتؤمن في بنيتها تسهيلات كبيرة للتنسيق بين فرق العمل ،كما تؤمن حماية متميزة للمواقع المبنية باستخدامها.


    2- ما هي المزايا التي قدمتها Net Framework. ؟؟
    •تأمين الاستقلالية في تطبيقاتنا عن التعامل مع نظام التشغيل.
    •احتواءها على آلاف المكاتب التي سهلت بناء تطبيقات سطح المكتب ومواقع الإنترنت.
    •بالإضافة إلى مجموعة من المزايا سنتعلمها بشكل عملي في الجلسات القادمة.


    3- ما هي لغة البرمجة #C وما الذي يميزها عن غيرها ؟؟
    هي لغة ظهرت بالترافق مع بيئة Microsoft .NET Framework في عام 2002 وطرحت في وقتها كلغة تجمع بين أفضل مزايا كل من Java,C++,C وتؤمن سهولة التطوير كما في Visual Basic وقتها وهي تصنف مع اللغات العالية المستوى وهي لغة غرضية التوجه في بنيتها وآخر إصدار منها كان C# 5.0 والذي ظهر في 15/8/2012.

    4- أنواع التطبيقات التي يمكن كتابتها باستخدام #C هي :
    •Console Applications
    •Windows Forms Applications
    •WPF Applications
    •ASP.Net Wep Applicaions


    5- تعرفنا أيضاً على برنامج Visual Studio 2010 وأقسامه الرئيسية وطريقة إنشاء مشروع جديد من نوع Windows Forms Applications.



    الجلسة الثانية :
    أهم ما تحدثنا عنه في هذا الجلسة هو :


    1- أنواع البيانات في لغة #C وطريقة تعريف متحول :
    حيث قلنا أن أنواع الأعداد الصحيحة في #C هي : int,long,short والفرق بينها هو الحجم الذي تحجزه في الذاكرة والأنواع التي تقبل فواصل عشرية هي double,float وقلنا أن لكل نوع كلاس مكافئ في .Net فمثلاً النوع int يكافؤه النوع INT32 وهكذا ...
    و تحدثنا أيضاً عن نوع البيانات المنطقي bool ونوع البيانات المحرفي char ونوع البيانات النصي string.
    وقلنا أنه لتعريف متحول نكتب كما في الشكل العام التالي :
    ;data_type variable_name

    أو
    ;data_type variable_name = initial_value

    2- طريق التحويل بين أنواع البيانات :

    • تحدثنا عن عدة طرق للتحويل بين أنواع البيانات أهمها الطريقة ;()ToString. التي تمكننا من التحويل من أي نوع بيانات إلى النوع string ،
    مثال :
    int x = 15;
    string s = x.ToString();
    • تحدثنا أيضاً عن الكلاس Convert الذي يفيدنا في التحويل بين أغلب أنواع البيانات.
    مثال :
    float f = 15.6f;
    int x = Convert.ToInt32(f);
    • تحدثنا عن طريقة التحويل القسري casting والتي تتم بذكر النوع المراد التحويل له بين قوسين قبل المتحول الذي نريد تحويله.
    مثال :
    float f = 15.6f;
    int x = (int) f;
    • تحدثنا عن التحويل عبر الطريقة Parse والتي تتبع لأغلب أنواع البيانات.
    float f = 15.6f;
    int x = int.Parse(f);
    3- المصفوفات :

    • طريقة تعريف مصفوفة أحادية البعد في #C هي :
    data_type[ ] array_name = new data_type[length];

    أو بإمكاننا إدخال عناصرها بشكل مباشر كما يلي:data_type[ ] array_name = { value1,value2,............ };
    أمثلة:
    int[ ] x = new int[10];
    int[ ] x = {10,4,9,1};

    • يمكن الوصول إلى الحجرة في المصفوفة عن طريق رقمها و يبدأ ترقيم الحجرات من الـ 0 أي انه إذا أردنا الوصول إلى الحجرة الثالثة من المصفوفة السابقة
    نكتب [2]x

    4- طريقة تعريف المصفوفات ذات أكثر من بعد واحد :

    • ثنائية البعد :

    data_type[ , ] array_name = new data_type[rows,columns];


    • يمكن تعريف المصفوفات ثلاثية الأبعاد و ما فوق بأن نضيف الفواصل ضمن الأقواس المربعة في بداية التعريف و نحدد طول كل بعد في نهاية التعريف .
    • ويمكن ملئ عناصر المصفوفة الثنائية مباشرة كما في المثال التالي :
    int[ , ] a = { {1,2,3} , {4,5,6} , {6,7,9} };

    • يوجد في C# ما يسمى بمصفوفة المصفوفات و يتم تعريفها بالشكل
    data_type[ ][ ] array_name = new data_type[Number of arrays][ ];
    ونلاحظ أن القوس الثاني يترك فارغاً دون تحديد طول.
    ولملئها مباشرة نكتب بشكل مشابه لهذا المثال :
    int[ ][ ] a = new int[2][] { new int[ ]{1,2},new int[ ]{3,4} };
    وتسمى هذه المصفوفة Jagged Array ويمكن أن تكون بأكثر من بعدين بأن نضيف أقواس مربعة لكل بعد إضافي.

    4- الشروط والحلقات :
    •تحدثنا بعدها عن تعليمة الشرط if وطريقة تعريفها :
    if( condition )
    {
    // instructions
    }
    else
    {
    //instructions
    }
    و يمكن عدم ذكر القسم else كما يمكن كتابة (else if(condition وفي حال كان المراد من الشرط تنفيذ تعليمة واحدة يمكن عدم كتابة الأقواس...
    الجلسة الثالثة :
    (محتوى الجلسة بشكل مكتوب قيد الإعداد)
    تحدث ضمن الجلسة عن مجموعة "دورة البرمجة باستخدام C#" على فايسبوك والدروس المطروحة ضمنها
    رابط المجموعة :
    facebook.com/groups/c.sharp.tutorial
    رابط الدروس : dropbox.com/sh/m52325e9yxeffw0/iXRgW0yzLP

    الجلسة الرابعة :
    (محتوى الجلسة بشكل مكتوب قيد الإعداد)

    الجلسة الخامسة :
    في هذه الجلسة قمنا بمراجعة جميع مفاهيم البرمجة غرضية التوجه OOP التي تناولناها في الجلسات السابقة وقمنا بتطبيقها بشكل عملي على برنامج Visual Studio وللحصول على ملفات المشروع الذي أنشأناه أثنا الجلسة بإمكانكم تحميلها من الرابط التالي : Session5.rarوبإمكانكم مشاهدة أو تنزيل الشرائح التي تم عرضها أثناء الجلسة بصيغة pdf من الرابط التالي : 5th_Session.pdf


    الجلسة السادسة :

    في هذه الجلسة لم نتمكن من تأمين جهاز إسقاط Projector فكانت الجلسة نظرية فقط ولن تحتسب من خطة الورشة وقد تحدثنا فيها عن أساسيات قواعد البيانات وكانت أهم الأفكار هي:
    • مالمقصود بقاعدة البيانات ؟؟
    نستطيع أن نطلق على أي
    مجموعة من البيانات مخزنة بشكل منظم اسم قاعدة البيانات ،
    وتتكون قاعدة البيانات في الحواسيب من جدول "Table" واحد على الأقل ويتكون الجدول من سجلات "Records" ويتكون السجل من الحقول "Fields" ويكون لكل حقل نوع بيانات مخصص.

    •ما المقصود بمحرك قواعد البيانات Database Engine ؟؟
    هو برنامج يتم تنصيبه على الحاسب ويتم من خلاله بناء قواعد البيانات وتخزين البيانات وتعديلها والبحث والإستعلام عنها ويوجد الكثير من محركات قواعد البيانات لكن أشهرها :
    Oracle
    MySQL
    Microsoft SQL Server
    Microsoft Access
    SQLite


    • مالمقصود بلغة SQL ؟؟
    هذا المصطلح هو اختصار لـ Standard Query Language أي لغة الإستعلامات القياسية ،وهي لغة استعلامات تستخدم للتعامل مع محركات القواعد البيانات بحيث يتم من خلالها إنشاء قواعد البيانات وإنشاء الجداول وإضافة السجلات وتعديلها وحذفها وجميع العمليات المتعلقة بقواعد البيانات.
    ويجب لفت الإنتباه أن هذه اللغة هي ليست لغة برمجة وإنما هي لغة موجهة حصراً للتعامل مع محركات قواعد البيانات (Databases Engines).
    وينبغي التفريق في المفهوم بين لغة SQL ومحرك قواعد البيانات لأن الكثيرين يظنون أن كلمة SQL تشير إلى محرك قواعد البيانات Microsoft SQL Server في حين أن SQL هي لغة وMicrosoft SQL Server هو محرك قواعد بيانات يتم التعامل معه عبر لغة SQL.

    • مالمقصود بنظام إدارة قواعد البيانات ؟؟
    هو البرنامج الذي يتم من خلاله الاستعلام عن البيانات، أو الإضافة أو التعديل عليها، أو حذفها عبر واجهات مرئية حيث يقوم البرنامج بالربط بين المستخدم وبين محرك قاعدة البيانات، لأداء تلك المهمة ،ويمكن تصنيف هذا المصطلح إلى قسمين :
    القسم الأول : موجه للمطورين والمبرمجين يتم من خلاله تسهيل عمل المبرمج لإنشاء وإدارة قواعد البيانات كما هو الحال في التطبيقات التي تأتي بشكل مرافق مع محركات قواعد البيانات.
    القسم الثاني : موجه للمستخدمين العاديين الذين يحتاجون إلى التعامل مع الواجهات المرئية وليسو بحاجة لكتابة أي كود SQL أو الإطلاع على آلية تخزين وتنظيم البيانات كما هوالحال في برامج المحاسبة والأتمتة والأرشفة والبرامج المستخدمة في الحياة اليومية.


    • ما المقصود بمراكز البيانات Data Centers ؟؟
    يمكن تسميتها أيضاً مستودعات البيانات وهي عبارة عن منظومات عملاقة تضم عدد كبير جداً من أجهزة التخزين والتغذية والذواكر والمعالجات وأجهزة الإتصال تعمل تحت تصرف مخدمات Servers ينصب عليها محركات قواعد البيانات لتستخدم لتخزين ومعالجة كميات هائلة من البيانات وحفظها وإدارتها واخذ نسخ احتياطية عنها ونشرها عبر الشبكات ،والأمثلة كثيرة عنها مثل أماكن تخزين البيانات لشبكة Facebook و Google و Microsoft و Dropbox و غيرها من الشركات العملاقة حول العالم وأنظمة الحكومات الإلكترونية وبعض شركات الإتصالات.


    ثم تحدثنا بشكل عملي عن كيفية إنشاء قاعدة بيانات جديدة عبر إضافة ملف Service Based Database وعن كيفية إنشاء جدول جديد من قسم Server Explorer في برنامج Visual studio وبعدها تحدثنا عن فكرة الـ Primary Key وفائدته في قواعد البيانات ثم تحدثنا عن فكرة الـ Stored Procedure وبعدها انتقلنا للحديث عن آلية ربط الواجهات ببعضها وذلك عبر إنشاء object من كلاس الفورم المطلوب عرضه وبعدها نستدعي إما الطريقة ()Sow أو الطريقة ()ShowDialog.

    بإمكانكم الحصول على المشروع الذي قمنا بالعمل عليه أثناء الجلسة من هنا : Session6.rar
    بإمكانكم مشاهدة شرائح الـ Power Point التي تم عرضها في الجلسة أو تنزيلها من هنا : 6th_Session.pdf


    الجلسة السابعة :
    في هذه الجلسة تحدثنا عن طريقة إنشاء DataSet من قوائم Visual Studio وقمنا بسحب الجداول ضمنها إلى الواجهة المطلوبة ليتم بشكل آلي توليد أداة جدول وشريط تحكم ضمن الواجهة وربطها مع الجدول في قاعدة البيانات ... ثم قمنا بالتعرف على مجموعة من تعليمات الـ SQL وهي كالتالي:
    •التعليمة SELECT :
    تستخدم هذه التعليمة للإستعلام عن البيانات المخزنة في جداول قاعدة البيانات ويتم ضمنها تحديد الأعمدة المراد إعادة قيمها والجداول التي سيتم جلب البيانات منها ولها الشكل العام التالي:
    SELECT column_name , column_name , ....
    FROM Table_name
    وفي حال كنا نريد الإستعلام
    SELECT * FROM Table_name
    مثال:
    SELECT [Name] , Average FROM Students
    وضعنا الأقواس حول الحقل Name لأن الكلمة Name محجوزة في لغة SQL.
    مثال آخر:
    SELECT * FROM Table_name


    •التعليمة SELECT DISTINCT :
    هذه التعليمة نستخدمها في حال كنا نريد أن لا تحوي نتائج الإستعلام على تكرار في القيم وشكلها العام :
    SELECT DISTINCT column_name , column_name , ....
    FROM Table_name

    •التعبير WHERE :
    نستخدم هذا التعبير لإضافة شروط على تعليمات الإستعلام والتعديل والحذف وسنبدأ باستخدامه مع التعليمة SELECT بالشكل التالي :


    SELECT column_name , column_name ,
    FROM Table_Name
    WHERE
    Column_Name Operator Value


    حيث يمكن أن يكون المعامل Operator عبارة عن معامل مقارنة < , > , = , != , =< , => أو معاملات خاصة مثل : LIKE أوBETWEEN أو IN
    مثال :
    SELECT * FROM Students
    WHERE
    Nationality = 'سوري'


    في هذه التعليمة نحن نستعلم عن جميع معلومات الطلاب الموجودين في الجدول Students والذين يحملون القيمة 'سوري' في حقل الجنسية (Nationality).


    • تعدد الشروط :
    نستطيع أن نكتب أكثر من شرط في نفس الوقت ضمن قسم التعبير WHERE ويفصل بين هذه الشروط إما AND أو OR حيث أن الشرط AND يلزم تحقيق جميع الشروط ليتحقق أما الشرط OR فيكفيه أن يتحقق أحد الشروط.

    مثال :
    SELECT [Name],L_Name,Birthday FROM Students
    WHERE Nationality = 'سوري' AND Average > 80


    في هذا الإستعلام اشترطنا أن يكون الطالب جنسيته سوري ومعدله أعلى من 80 وسيظهر في نتيجته الطلاب الذين يحققون الشرطين معاً .

    مثال آخر:

    SELECT * FROM Students
    WHERE
    Average > 80 OR Birthday > '1/1/1990'


    في هذا الإستعلام اشترطنا أن يكون معدل الطالب أكبر من 80 أو تاريخ ميلاده بعد التاريخ 1/1/1990 وسيظهر في نتيجته أي طالب يحقق أحد الشرطين.

    يمكن الجمع بين AND و Or عبر استخدام الأقواس كما في هذا المثال:

    SELECT * FROM Students
    WHERE
    (Average > 80 OR Birthday > '1/1/1990') AND Nationality = 'سوري'

    في هذا الإستعلام اشترطنا أن يكون معدل الطالب أكبر من 80 أو تاريخ ميلاده بعد التاريخ 1/1/1990 ويجب أن يكون في جميع الأحوال جنسيته سوري أي سيظهر في نتيجة هذا الإستعلام أي طالب يحقق أحد الشرطين الأول أوالثاني بالإضافة إلى الشرط الثالث الإلزامي.


    •المعامل LIKE:
    يستخدم لاشتراط قالب معين على حقل ما فمثلا لو أردنا أن نبحث عن الطلاب الذين يبدأ إسمهم بحرف الألف فإننا نكتب :
    SELECT * FROM Students
    WHERE
    [Name] LIKE 'أ%'
    حيث % تعني أياً كانت الأحرف التي تلي حرف الألف وفي حال كتبنا الشكل التالي :

    [Name] LIKE 'أ_'
    فإننا نقصد أن الإسم المطلوب ينبغي أن يبدأ بحرف الألف ويليه حرف واحد فقط.

    وتسمى إشارتي '_' و '%' في SQL بالـ Wildcards.


    •المعامل BETWEEN:
    يستخدم لاشتراط أن تكون القيمة المطلوبة واقعة ضمن مجال ما فمثلاً لو أردنا أن نستعلم عن جميع الطلاب الذين حصلوا على معدل بين الـ 80 والـ 90 فإننا نكتب كما يلي:
    SELECT * FROM Students
    WHERE
    Average BETWEEN 80 and 90
    • المعامل IN :
    يستخدم لاشتراط على عمود ما قيمة من بين مجموعة محددة من القيم فمثلاً لو أردنا أن نستعلم عن الطلاب الذين تكون جنسيتهم إما سوري أو ألماني أو بريطاني فإننا نكتب كما يلي:
    SELECT * FROM Students
    WHERE
    Nationality IN ('سوري' , 'ألماني' , 'بريطاني')

    • التعبير ORDER BY :
    يستخدم لترتيب النتائج التي تنتج عن تنفيذ التعليمة SELECT ويمكن الترتيب إما تصاعدياً أو تنازلياً ولها الشكل العام التالي :

    SELECT column_name , column_name ,
    FROM Table_Name


    ORDER BY column_name,column_name


    وبإمكاننا تحديد طريقة الترتيب عبر ذكر ASC (تصاعدي) أو DESC (تنازلي) بعد اسم العمود

    مثال :
    SELECT * FROM Students
    WHERE
    Average > 80
    ORDER BY [Name] DESC
    في هذا المثال قمنا بالإستعلام عن جميع معلومات الطلاب الذين معدلهم أكبر من 80 وقمنا بترتيب النتائج بحسب الإسم تنازلياً.




    • التعليمة INSERT INTO :
    تستخدم لإضافة سجلات جديدة إلى جدول ما ويتم ضمنها تحديد الأعمدة مع القيم المقابلة ولها الشكل العام التالي:
    INSERT INTO Table_name
    (column1,column2,.....)
    VALUES
    (value1,value2,...........)
    مثال:
    INSERT INTO Students
    ([Name],L_Name,Gender,Birthday,Average)
    VALUES
    ('obada' , 'dawara' , 1 , '1/1/1990' , 80)

    في حال كان لدينا حقل في قاعدة البيانات يتم ترقيمه تلقائياً فإنه لا يمكن ذكره في تعليمة INSERT.
    وفي حال كنا نريد أن نقوم بعملية إدخال تتضمن جميع الأعمدة في الجدول وبترتيبها الأصلي في الجدول فإنه بإمكاننا أن نقوم بعملية الإدخال دون ذكر الأعمدة كما في المثال التالي:
    INSERT INTO Students
    VALUES
    ('obada' , 'dawara' , 1 , '1/1/1990' , 80)

    • التعليمة UPDATE :
    تستخدم لتعديل سجل أو مجموعة من السجلات الموجودة في أحد الجداول ولها الشكل العام التالي:
    UPDATE Table_name
    SET
    column1 = value1,
    column2 = value2,
    .....
    WHERE
    Conditions

    في القسم Conditions نكتب شرط أو شروط التعديل وينطبق عليه جميع ما ذكرناه مسبقاً في قسم WHERE في تعليمة SELECT.


    مثال:
    UPDATE Students
    SET
    [Name] = 'عبد الرحمن'
    WHERE
    ID = 5
    في هذه التعليمة قمنا بتغيير اسم الطالب الذي رقمه التسلسلي 5 إلى الإسم عبد الرحمن.
    مثال آخر:



    UPDATE Students
    SET
    Nationality = 'عربي سوري'
    WHERE
    Nationality ='سوري'

    في هذا المثال قمنا بتغيير خانة الجنسية إلى القيمة "عربي سوري" لجميع الطلاب الذين يحملون القيمة "سوري" في خانة الجنسية .

    ملاحظة: في حال لم يتم ذكر القسم WHERE فإن التعديل سيشمل جميع السجلات في الجدول ويجب أن نكون حذرين لأن التعديلات لا يمكن التراجع عنها.


    • التعليمة DELETE :
    تستخدم هذه التعليمة لحذف سجل أو مجموعة من السجلات من الجدول ولها الشكل العام التالي:

    DELETE FROM Table_name
    WHERE
    Conditions



    وكما هو الحال في تعليمة UPDATE فإن القسم Conditions نكتب ضمنه شرط أو شروط التعديل وينطبق عليه جميع ما ذكرناه مسبقاً في قسم WHERE في تعليمة SELECT.
    مثال :
    DELETE FROM Students
    WHERE
    ID = 3
    قمنا في هذا المثال بحذف الطالب ذو الرقم 3.


    ملاحظة: في حال لم يتم ذكر القسم WHERE فإنه سيتم حذف جميع سجلات الجدول ولا يمكن التراجع عن عملية الحذف لذا يجب أن نكون حذرين.

    بإمكانكم مشاهدة شرائح الـ Power Point التي تم عرضها في الجلسة أو تنزيلها من هنا : 7th_Session.pdf

    الجلسة الثامنة :

    جلسة اليوم كانت عملية بالكامل حيث تحدثنا ضمنها عن طريقة تنفيذ أكواد SQL التي تعلمناها في الجلسة السابقة على برنامج Visual Studio حيث قمنا بإنشاء مشروع جديد وإضافة ملف قاعدة بيانات جديدة من نوع Service Based Database وقمنا بإضافة جدول جديد وتطبيق تعليمات الـ SQL من القسم New Query.

    الجلسة التاسعة :
    في جلسة اليوم قمنا بمراجعة جميع المفاهيم المتعلقة بقواعد البيانات التي تم تناولها سابقاً ثم انتقلنا للحديث عن تحليل النظم ومخططات الـ ERD والتي يشير مصطلحها إلى (Entity Relationship Diagram) حيث تمكننا هذه المخططات من توصيف كيانات أنظمتنا بدقة ووضوح وقد تعرفنا أيضاً على كيفية رسم الكيانات وأنواع العلاقات فيما بينها:
    • one to many
    • one to one
    • many to many
    وبعدها تحدثنا عن كيفية تحقيق العلاقات باستخدام أكواد SQL في تعليمات الـ SELECTعبر ربط المفاتيح الرئيسية Primary Keys مع المفاتيح الثانوية Foreign keys .
    وبعدها تعرفنا على التوابع المخزنة Stored Procedure وطريقة انشاءها وتعريف بارمتراتها في برنامج Visual Studio.


    الجلسة العاشرة :
    تمثل هذه الجلسة والتي تليها خلاصة الورشة حيث وصلنا إلى مرحلة قطف ثمار جميع ما زرعناه في الجلسات السابقة من الورشة ...
    في هذه الجلسة عدنا إلى الحديث عن لغة C# وتحدثنا عن طريقة الربط بين قاعدة البيانات ولغة الـ C# ،حيث تحدثنا عن الكلاس SqlConnection الذي يستخدم لفتح وإغلاق الإتصال مع قاعدة البيانات وقمنا أثناء الجلسة بتحديد مسار الإتصال عبر نسخ الخاصية Connection String لقاعدة البيانات وكتابته كبارمتر في أثناء تعريف object من الكلاس Connection String .
    ثم انتقلنا بعدها للحديث عن الكلاس SqlCommand وقلنا أننا نستخدمه لتنفيذ تعليمات الـ SQL على قاعدة البيانات التي قمنا بالاتصال بها باستخدام الكلاس SqlConnection قبل قليل.
    تحدثنا بعدها عن الكلاس SqlDataAdabter الذي تعلمنا استخدامه لتخزين نتائج الإستعلامات (SELECT) في غرض من الكلاس DataTable
    والذي يمثل جدول برمجي.
    تحدثنا بعدها عن الأداة DataGridView والتي تظهر بشكل جدول استخدمناها لعرض نتائح الإستعلامات من قاعدة البيانات وتحدثنا عن الخاصية DataSource التي نسند لها أغراض من الكلاس DataTable.
    وقد قمنا خلال الجلسة ببناء تطبيق بسيط يمثل دليل هواتف وأنهينا واجهة الإضافة والبحث والحذف ...

    بإمكانكم الحصول على ملف المشروع الذي قمنا ببناءه أثناء الجلسة من هنا : Contacts.rar

    أرجو أن أكون قد وفقت في الشرح ... أراكم في الجلسة القادمة [​IMG]

مشاركة هذه الصفحة