19-06-13, 10:46 PM
(آخر تعديل لهذه المشاركة : 19-06-13, 10:52 PM {2} بواسطة aminsheeri.)
قمت سلفاً بإنشاء قاعدة بيانات باسم: saveDate.mdb، وبها جدول واحد باسم: TheTable به الحقول التالية:
ID: حقل تلقائي صحيح يمثل رقم السجل.
TheName: حقل نصي، يمثل الاسم.
TheBirthDate: حقل تاريخ، من النوع Short Date، ويمثل تاريخ الميلاد.
والآن، ننشيء Form جديد باسم frmNew، ونضع عليه:
TextBox: ونسمّه txtName
DateTimePicker: ونسمه dtDate
2 Buttons: الأول باسم btnSave حفظ، والثاني btnClose إغلاق.
نرجع إلى الـfrmMain، ونكتب في حدث النقر للزر جديد ما يلي:
ووظيفته هي استدعاء الـfrmNew وعرضه أمام المستخدم.
في شاشة تحرير الكود للـfrmNew، نكتب الكود التالي كأول سطر:
في حدث التحميل للـForm اكتب:
وفائدة هذا الكود هي تجهيز الـDateTimePicker بحيث يظهر كما نريد.
نرجع ونكتب في حدث النقر للزر حفظ ما يلي:
وفائدة هذا الكود هي التحقق من أن المستخدم كتب فعلاً في صندوق النصوص.
وفي حالة نجاح الشرط يتم تنفيذ روتين الحفظ، وبرمجته كم يلي:
وفي حدث النقر للزر إغلاق، نكتب الكود التالي:
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
