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

شرح طرق التعامل مع قواعد البيانات ( اضافه - تعديل - حذف - بحث ) بأفضل الأساليب (2) Visual Basic .net Database

نستعين بالله ونبداء



بعد مانتهينا من كتابه جمل 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()
طبعا هانلاحظ جمله شرطيه علشان نتأكد من نوع العمليه المراده سواء كانت اضافه او تعديل وبناء عليه يتم عمليه الحفظ

من انا ؟