بتـــــاريخ : 10/14/2012 5:17:10 PM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 3707 0


    شرح طرق التعامل مع الداتا بيز ( اضافه - تعديل - حذف - بحث ) بأفضل الأساليب خطوه بخطوه

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : eldoktor007 | المصدر : www.absba.org

    كلمات مفتاحية  :

    ان شاء الله اليوم سوف اشرح ابسط واسرع طرق التعامل مع قواعد البيانات وكيفيه اجراء العمليات المشاعه ولتى نكثر فى استخدامها فى مشاريعنا المربوطه بالداتا بيز وهيه مثل ..

    ( اضافه - تعديل - حذف - بحث )

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

    بالنسبه لمحرك الداتا بيز الى هانستخدمها فى درس اليووم هوه SQL Server 2005
    وبالنسبه الى الغه المستخدمه للتعامل مع الداتا بيز هيه Visual Basic.net 2008

    وبأذن الله نبداء الشرح

    =========================

    قبل اى شىء لازم نجهز الداتا بيز التى سنعمل عليها فا اول شىء لازم نعمل دون لوود لداتا بيز من هذا الرابط

    http://www.mediafire.com/?emkb23gwnj9

    وهيه بأسم AdventureWorksDB
    والحجم 27.3 MB
    وطريقه استخدامها كالتالى :-

    بعد تحميل الملف
    1- نفتح SQL Server Management Studio Express
    2- كليك يمين على مجلد Database من القائمه ثم اختر Attach
    3-ثم نضغط على زر Add (سوف يتم فتح المسار للداتا بيز الموجود على جهازك )
    4- نختار اسم الداتا بيز بتعتنا وهيه AdventureWorksDB ونضغط على زر OK
    5- بعد الاختيار لآتمام العمليه نضغط OK

    علشان يكون عندنا الشكل انهائى مل هذا



    بعد الانتهاء من اضافه الداتا بيز ننتقل الى Visual Studio لبدايه العمل على الداتا بيز

    ننشاء مشروع بأسم وليكن مثلا Absba Training

    فى هذا سنتعلم التعامل مع الداتا بيز بدون كوود يعنى هانشتغل بطريقه Wizard وهيه فى الفيجوال استديو 2008 قويه جدا وبنقدر نحدد منها كل شىء نريده
    فى ناس كتير لحد الآن بتستخدم الكوود من فى التعامل مع الداتا بيز وينسوا بقى كود معين ويطلع ايرور غريب بالنسبه ليهم فالطريقه دى بتوفر وقت ومجهود
    بس قبل ما تستخدمها لازم تكون فاهم الادوات الى بنحتاجها للتعامل مع الدتا بيز مثل
    (data set ,data adapter ) الخ الخ

    اول خطوه بعد انشاء المشروع هيه الأتصال بالداتا بيز وخطوتها كالتالى

    لازم الاول نظهر قائمه الدتا سورس كالتالى :-



    ثم



    سيظهر وجهه لآختيار نوع الداتا سورس والافتراضى لها هوه database ثم نضغط على زر Next

    ثم



    ثم



    ثم نختار اسم SQL Server ونختار اسم الداتا بيز الى راح نشتغل عليها



    ثم



    ثم نختار الجداول الى بنريد نستخدمها فى مشروعنا طبعا انا فى المثال ده اخترت كله



    طيب لو فرضنا اننا عايزين نضيف جدول جديد فى الدتا بيزز وحبيت اضيفه عندى فى الداتا سورس كيف راح يتم ده ؟

    بكل بساطه نذهب الى SQL Server لآضافه الجدول كالتالى



    ثم نجهز الجدول بالشكل ده



    ثم نعمل Save بأسم Test


    الى هذا الحد ينتهى عملنا مع SQL server ثم ننتقل الى Visual Studio ونتبع التالى



    ثم نختار اسم الجدول المراد اضافته



    وتمت الاضافه بنجاح



    بعد التعرف على الاتصال باداتا بيز ننتقل الى طريقه ربط الداتا بيز مع وجهه البرنامج

    احنا هانتعامل مع الجدول الى احنا عملناه ( TEST)

    مبدئيا احنا محتاجين نصمم وجهه مثل هذا الشكل



    كما هوه موضح امامكم الفورمه بسيطه موجود فيها اداه ToolStrip و Group Box و Button
    وهانشرح استخدمنا لهذه الوجه لاحقا
    الان بعد ما خلصنا التصميم الغير مربوط بالدتا بيز نيجى للخطوه التاليه وهيه وضع الكنترول المربوطه بالداتا بيز
    كل ما علينا هوه استخدام طريقه ( السحب والافلات ) او (Drag and Drop ) لآعمده الجدول المراد ربطه بالوجهه وفى مثالنا هذا سوف نستخدم جدول TEST الى احنا عملناه مسبقا كالتالى



    بعد انتهاء من هذه المرحله نعدل الشكل ليصبح كالتالى :



    لو احنا عملنا RUN للبرنامج فى هذه المرحله راح يظهر الداتا الموجوده فى الجدول TEST
    وهذا بسبب وجود كود تم كتباته تلقائيا عند سحب وافلات الاعمده الى وجهه البرنامج وهوه راح يكون بهذا الشكل



    طيعا احنا ملاحظين ان الكود موجود فى حدث Form Load

    طيب احنا لقينا كوود موجود جاهز احنا عايزين نعمل كود زى ده بس على حسب احتياجتنا احنا السؤال هوه كيف نضيف جمل الـ SQL للآضافه سجل او تعديله او ازالته واين جمله الـ FIll المستخدمه فى حدث الـ Form Load التى امامنا كل هذه اسئله سيتم اجابتك عليها حالا

    احنا لو تفقدنا الناحيه اليمنى من الفيجوال استديو سنجد قائمه بأسم Solution explorer
    وسنجد شكل بأسم AdventureWorksDataSet.xsd كما فى الشكل التالى



    افتحها (دبل كليك عليها ) سترى جميع الجداول الموجود فى الدتا بيز AdventureWorksDB وجميع العلاقات ما بين الجداول وبعضها
    وسنرى ايضا جدولنا TEST موجود بالشكل التالى



    نلاحظ وجود جمله الـ Fill واذا اخذنا الفضول لآستكشاف ما بداخلها من كود سنتبع التالى

    نضغط كليك يمين على الجمله ثم



    ونلاحظ التالى



    الجمله التى امامنا هيه المسئوله فى جمله الـ Fill او ملىء البيانات من Data Base الى Data Set

    الان وقد وضح الينا الامر واجابه السؤال ( اين سنضع جمل الـ SQL الخاصه بنا )

    والأن نبداء بأضافه جمله Insert

    نتبع التالى



    ثم



    ثم نحدد نوع العمليه



    ثم سنرى ان الفيجوال استديو قد كتب الكود تلقائيا



    ثم نحدد اسم جمله الـ SQL



    ثم



    وهاقد انتهينا من باضافه الجمله بشكل صحيح



    والان مع جمله التعديل

    طريقه اضافه جمله التعديل تكون بنفس طريقه اضافه جمله الأضافه ولكن سوف يختلف فى امرين

    اولا :- سوف نختار Update بدلا من Insert
    ثانيا :- مش هاتلاقى كوود مكتووب جاهز وده لازم تعمله بنفسك تعالى نشووف مع بعض

    نعدل الاختيار الى Update



    ولى اضافه الجمله الخاصه بـ Update اتبع التالى



    ثم



    ثم نضيف الجدول المراد التعامل معه



    ثم



    ثم نكتب جمله الـ UPdate



    جمله من اساسيات جمله الـ Update انه يجب ان يكون به شرط مثل

    كود:
    Where ID=@ParID
    وهيه تعنى انه عدل الصف بالبيانات Name and Age عندما يكون الـ ID يساوى @ParID
    اى كلمه تيجى بعد رمز @ فا هوه متغير او بارمتر وهنا احنا عندنا ثلاث متغيرات
    الاسم
    والسن
    ورقم الـ ID

    وكلهم متغيرات حيث ان تعاملنا معه سيكون عن طريق المستخدم وليس شىء ثابت قد تعرفه اثناء كتابتك للبرنامج

    بعد ذالك نكمل عمليه اتمام اضافه جمله الـ Update



    ثم تمت بنجاح



    والان مع الجمله الاخيره وهيه Delete

    وهيه كامثل خطوات جمله Update فا هيه لا تنشاء بشكل اوتوماتيكى كامثل جمله الـ Insert
    ويجب ايضا وضع شرط لها وسيكون معناه ( امسح عندما يكون رقم الـ ID = ؟ ) فا هنا يجب ايضا استخدام المتغير راح يكون اوله @

    لنرى كيف ذالك



    ثم



    ثم



    وانتهينا من جمله الـ Delete بنجاح







    بعد مانتهينا من كتابه جمل SQL - Insert,Update,Delete يتبقى لنا استدعاء هذه الجمل فى المثال فا الجزء الى احنا هانتكلم فيه كله كود

    فا انا هارفع الاول المشروع علشان تشوفوا معايا الشرح وتقدروا تتباعوا كلامى

    حمل المشروع من هنا

    بعد تحميل الملف نبداء نفتح صفحه الكوود وتابعوا الشرح علشان هاشرحه جزء جزء

    [CODE] Dim Mode As String


    اول سطر هانلاقى متغير
    متغير هوه Mode ووظيفته تخزين مؤقت لنوع العمليه المراده وسيتم ايضاحه فيما بعد



    كود:
      Sub View()         Me.IDTextBox.ReadOnly = True         Me.NameTextBox.ReadOnly = True         Me.AgeTextBox.ReadOnly = True         Me.ToolStrip1.Enabled = True         Me.GroupBox2.Enabled = False     End Sub
    دى Sub وظيفتها انها بتحول الانترفيس الخاص باكنترول من وضع الاضافه الى وضع العرض اذا لاحظنا ان السطور هانلاقى اننا بنحجم اليوزر علشان مايكون عنده امكانيه تعديل اى بيانات موجوده فى وقت العرض وده طبعا شىء خاصه بالفورم وبعيد كل البعد عن الداتا بيز دى حاجه اختياريه ليك مش اكتر

    كود:
     Sub Edit()         Me.IDTextBox.ReadOnly = True         Me.NameTextBox.ReadOnly = False         Me.AgeTextBox.ReadOnly = False         Me.ToolStrip1.Enabled = False         Me.GroupBox2.Enabled = True     End Sub
    دى Sub ايضا بتقوم بعكس وظيفه الـ Sub الى قبلها

    كود:
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load         Me.TestTableAdapter.Fill(Me.AdventureWorksDataSet.Test)         View()     End Sub
    الكود ده زى ماحنا شايفين فى الكود انه فى وقت تحميل الفورم والسطر الاول هوه وظيفته انه بيعمل تعبئه للبيانات من الداتا بيز الى الداتا سيت

    والسطر الى فيه كلمه View
    دى طبعا الـSub الى اتكلمنا عليها قبل كده بس هنا انا بعمل ليها Call



    التول بار ده موجود فيه عمليات الداتا بيز الى راح تتعمل على البرنامج ده يعنى اليوزر قبل ما يبتدى يشتغل على العمليه الى عايزها لازم يختار النوع بتعها من التول بار وبناء عليه سيتم بداء العمليه بعد اختياره واتمام العمليه بالضغط على زر حفظ او الغاء

    اول زر هوه Insert او الاضافه

    كود:
       Edit()         Me.Mode = "Insert"         Dim RND As New Random         Me.IDTextBox.Text = RND.Next(99, 9999999)         Me.NameTextBox.Clear()         Me.AgeTextBox.Clear()
    اول سطر احنا حطينا استدعاء للـ Sub الخاصه بأتاحه المستخدم للتعديل
    تانى وضع اسم لنوع العمليه المراده وده شىء بنسميه فى البرمجه Flag علشان لما اجى اعمل سيف او تخزين للبيانات اقدر اعرف هاعمل سيف بناء على اضافه عنصر او تعديل عنصر وستضح الصوره لك بعد انتهاء الشرح ان شاء الله
    بعد ذالك هاتلاقى متغير جديد من نوع Random وده علشان اصنع ارقاء عشوائيه علشان احطها فى خانه الرقم ID
    وطبعا كل ده انا بشكل اختيارى وبرده بعيد كل البعد عن الداتا بيز

    فى الزر الخاص بـ Update

    كود:
      Edit()         Me.Mode = "Update"
    هاعمل استدعاء فى اول سطر للـSub الى اسمها Edit
    وايضا هاحدد نوع العمليه المراده عن طريق استخدام تكنيك الـ Flag

    نيجى بقى للزر Delete وده هايكون كوده مؤثر وله علاقه بالداتا بيز بشكل مباشر

    كود:
     Me.TestTableAdapter.DeleteQuery(Me.IDTextBox.Text)         Me.TestTableAdapter.Fill(Me.AdventureWorksDataSet.Test)

    عند كتابه هذا السطر Me.TestTableAdapter سوف يظهر لنا جميع جمل الـ SQL التى تمت كتابتها فى الدرس السابق




    ولو فى برامتر للجمله مثل رقم الـ ID نفتح قوس ونبتدى نكتبهم


    والأن مع زر Save

    كود:
       If Me.Mode = "Insert" Then             Me.TestTableAdapter.InsertQuery(Me.IDTextBox.Text, NameTextBox.Text, Me.AgeTextBox.Text)                    ElseIf Me.Mode = "Update" Then             Me.TestTableAdapter.UpdateQuery(Me.NameTextBox.Text, Me.AgeTextBox.Text, Me.IDTextBox.Text)          End If         Me.TestTableAdapter.Fill(Me.AdventureWorksDataSet.Test)         View()
    طبعا هانلاحظ جمله شرطيه علشان نتأكد من نوع العمليه المراده سواء كانت اضافه او تعديل وبناء عليه يتم عمليه الحفظ

    ولو اى حد عنده اى استفسار انا موجود ان شاء الله بالرد

    كل الود احبائى الكرام

    كلمات مفتاحية  :

    تعليقات الزوار ()