تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
درس بسيط لعملية الإضافة والتعديل والبحث والحذف - Visual Basic.net 10 وMS Access
#2
قمت سلفاً بإنشاء قاعدة بيانات باسم: saveDate.mdb، وبها جدول واحد باسم: TheTable به الحقول التالية:
ID: حقل تلقائي صحيح يمثل رقم السجل.
TheName: حقل نصي، يمثل الاسم.
TheBirthDate: حقل تاريخ، من النوع Short Date، ويمثل تاريخ الميلاد.

والآن، ننشيء Form جديد باسم frmNew، ونضع عليه:
TextBox: ونسمّه txtName
DateTimePicker: ونسمه dtDate
2 Buttons: الأول باسم btnSave حفظ، والثاني btnClose إغلاق.


نرجع إلى الـfrmMain، ونكتب في حدث النقر للزر جديد ما يلي:
كود :
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
        frmNew.ShowDialog()
    End Sub

ووظيفته هي استدعاء الـfrmNew وعرضه أمام المستخدم.



في شاشة تحرير الكود للـfrmNew، نكتب الكود التالي كأول سطر:

كود :
Imports System.Data.OleDb



في حدث التحميل للـForm اكتب:
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' تجهيز العنصر الخاص بعرض التاريخ
        dtDate.Format = DateTimePickerFormat.Custom
        dtDate.CustomFormat = "yyyy-MM-dd"
    End Sub


وفائدة هذا الكود هي تجهيز الـDateTimePicker بحيث يظهر كما نريد.


نرجع ونكتب في حدث النقر للزر حفظ ما يلي:
كود :
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        If txtName.Text = Nothing Then
            MsgBox("يجب إدخال الاسم", MsgBoxStyle.Critical, "عذراً")
            txtName.Focus()
        Else
            SaveData()
            MsgBox("تم تخزين البيانات بنجاح", MsgBoxStyle.Information, "ألف مبروك")
            txtName.Text = Nothing
            txtName.Focus()
        End If
    End Sub

وفائدة هذا الكود هي التحقق من أن المستخدم كتب فعلاً في صندوق النصوص.

وفي حالة نجاح الشرط يتم تنفيذ روتين الحفظ، وبرمجته كم يلي:
كود :
Private Sub SaveData()
        Dim SaveDataSQl As String = "INSERT INTO TheTable (TheName,TheBirthDate) VALUES(@TheName,@TheBirthDate)"
        Dim SaveDataCMD As New OleDbCommand

        If Con.State = ConnectionState.Closed Then
            ' إذا كان الاتصال مقفل
            Con.Open()

            With SaveDataCMD
                .Connection = Con
                .CommandType = CommandType.Text
                .CommandText = SaveDataSQl

                .Parameters.AddWithValue("TheName", txtName.Text)
                .Parameters.AddWithValue("TheBirthDate", dtDate.Value.Date)

                .ExecuteNonQuery()
                .Dispose()
            End With
            Con.Close()
        Else
            ' الاتصال مفتوح مسبقاً
            With SaveDataCMD
                .Connection = Con
                .CommandType = CommandType.Text
                .CommandText = SaveDataSQl

                .Parameters.AddWithValue("TheName", txtName.Text)
                .Parameters.AddWithValue("TheBirthDate", dtDate.Value.Date)

                .ExecuteNonQuery()
                .Dispose()
            End With
            Con.Close()
        End If
        frmMain.LoadData()
    End Sub


وفي حدث النقر للزر إغلاق، نكتب الكود التالي:
كود :
Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
        Me.Close()
    End Sub
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , الوادي , princelovelorn , 3booody , 3booody


الردود في هذا الموضوع
درس بسيط لعملية الإضافة والتعديل والبحث والحذف - Visual Basic.net 10 وMS Access - بواسطة أبوبكر سويدان_mybb_import4719 - 19-06-13, 10:46 PM


التنقل السريع :


يقوم بقرائة الموضوع: