04-10-12, 04:34 PM
الحمد لله جت المشاركة المستقلة بعد طول غياب
كما أوضحنا سابقاً هناك 3 دوال عامة Save , Update , Delete
و يقابلها 3 دوال خاصة _Save , _Update , _Delete
و انتهينا من بناء دوال الكائن التي تقوم بالإضافة و الحذف و التعديل .
و تبقى علينا عملية عرض البيانات
بعبارة أخرى احضار البيانات من مصدرها و تحمليها على الكلاس كقيم تظهر في الخصائص .
لهذا نحن بحاجة للدالة الخاصة _Select و التي تعود بكائن من نوع DataTable .
هذه الدالة الخاصة أقصد _Select تأخذ بارميتر واحد وحو رقم الكائن ، و الذي هو رقم السجل داخل الجدول المقابل لهذا الكلاس (الفئة) .
كما ذكرنا سابقاً فإن الدالة سيكون شكلها كالتالي :
و الآن كيف سنحمل البيانات من الجدول إلى الكلاس ؟
و الجواب هو عند الخاصية ID
للتذكير كان الكود الموجود تحت الخاصية ID هو :
و الآن نحن بحاجة لإضافة بعض الأسطر التي ستفحص القيمة المدخلة للخاصية ثم تستدعي الدالة الخاصة _Select لأجل إحضار البيانات ثم تعبئة الخصائص بالقيمة العائدة من الدالة .
سيكون الكود المكتوب عند الخاصية ID كالتالي :
و الآن ....
انتهينا من طريقة جلب البيانات و عرضها على الكلاس (كخصائص للكلاس) .
و نفس الكلام على الكلاس Person ، نضيف تحت الخاصية ID الكود التالي :
Property ID() As Integer
Get
Return _ID
End Get
Set(ByVal value As Integer)
' نعمل استعلام من قاعدة البيانات و نعبئ الكلاس بالقيم
Dim dTable As DataTable = Me._Select(value)
' إذا كان عدد السجلات أكثر من صفر بعبارة أخرى إذا كان هناك سجلات
If dTable.Rows.Count > 0 Then
' إقرأ القيمة من الجدول و ضعها في الخاصية
Me._ID = Integer.Parse(dTable.Rows(0).Item("ID").ToString)
Me._Name = dTable.Rows(0).Item("Name").ToString
Me._Age = Integer.Parse(dTable.Rows(0).Item("Age").ToString)
Me._Area = dTable.Rows(0).Item("Area").ToString
Me._Job = dTable.Rows(0).Item("Job").ToString
End If
End Set
End Property
و بهذا نكون أنهينا طبقة الأعمال و بإمكانك استخدام الكلاسين في مشاريعك القادمة
الحمد لله الذي بنعمته تتم الصالحات ،
كما أوضحنا سابقاً هناك 3 دوال عامة Save , Update , Delete
و يقابلها 3 دوال خاصة _Save , _Update , _Delete
و انتهينا من بناء دوال الكائن التي تقوم بالإضافة و الحذف و التعديل .
و تبقى علينا عملية عرض البيانات
بعبارة أخرى احضار البيانات من مصدرها و تحمليها على الكلاس كقيم تظهر في الخصائص .
لهذا نحن بحاجة للدالة الخاصة _Select و التي تعود بكائن من نوع DataTable .
هذه الدالة الخاصة أقصد _Select تأخذ بارميتر واحد وحو رقم الكائن ، و الذي هو رقم السجل داخل الجدول المقابل لهذا الكلاس (الفئة) .
كما ذكرنا سابقاً فإن الدالة سيكون شكلها كالتالي :
PHP كود :
Private Function _Select(ByVal ID As Integer) As DataTable
Dim dsv As New DataTable
Try
Dim SelCmd As New SqlClient.SqlCommand
SelCmd.CommandType = CommandType.StoredProcedure
SelCmd.CommandText = "sp_Select_ContactNumber"
SelCmd.Parameters.Add("@Id", SqlDbType.BigInt).Value = ID
SelCmd.Connection = Connection
Dim dAdapter As New SqlClient.SqlDataAdapter(SelCmd)
dAdapter.Fill(dsv)
Catch ex As Exception
End Try
Return dsv
End Function
و الآن كيف سنحمل البيانات من الجدول إلى الكلاس ؟
و الجواب هو عند الخاصية ID
للتذكير كان الكود الموجود تحت الخاصية ID هو :
PHP كود :
Property ID() As Integer
Get
Return _ID
End Get
Set(ByVal value As Integer)
_ID = value
End Set
End Property
و الآن نحن بحاجة لإضافة بعض الأسطر التي ستفحص القيمة المدخلة للخاصية ثم تستدعي الدالة الخاصة _Select لأجل إحضار البيانات ثم تعبئة الخصائص بالقيمة العائدة من الدالة .
سيكون الكود المكتوب عند الخاصية ID كالتالي :
PHP كود :
Property ID() As Integer
Get
Return _ID
End Get
Set(ByVal value As Integer)
' نعمل استعلام من قاعدة البيانات و نعبئ الكلاس بالقيم
Dim dTable As DataTable = Me._Select(value)
' إذا كان عدد السجلات أكثر من صفر بعبارة أخرى إذا كان هناك سجلات
If dTable.Rows.Count > 0 Then
' إقرأ القيمة من الجدول و ضعها في الخاصية
Me._ID = Integer.Parse(dTable.Rows(0).Item("ID").ToString)
Me._Type = Integer.Parse(dTable.Rows(0).Item("Type").ToString)
Me._Number = dTable.Rows(0).Item("Number").ToString
Me._PersonID = Integer.Parse(dTable.Rows(0).Item("PersonID").ToString)
End If
End Set
End Property
و الآن ....
انتهينا من طريقة جلب البيانات و عرضها على الكلاس (كخصائص للكلاس) .
و نفس الكلام على الكلاس Person ، نضيف تحت الخاصية ID الكود التالي :
Property ID() As Integer
Get
Return _ID
End Get
Set(ByVal value As Integer)
' نعمل استعلام من قاعدة البيانات و نعبئ الكلاس بالقيم
Dim dTable As DataTable = Me._Select(value)
' إذا كان عدد السجلات أكثر من صفر بعبارة أخرى إذا كان هناك سجلات
If dTable.Rows.Count > 0 Then
' إقرأ القيمة من الجدول و ضعها في الخاصية
Me._ID = Integer.Parse(dTable.Rows(0).Item("ID").ToString)
Me._Name = dTable.Rows(0).Item("Name").ToString
Me._Age = Integer.Parse(dTable.Rows(0).Item("Age").ToString)
Me._Area = dTable.Rows(0).Item("Area").ToString
Me._Job = dTable.Rows(0).Item("Job").ToString
End If
End Set
End Property
و بهذا نكون أنهينا طبقة الأعمال و بإمكانك استخدام الكلاسين في مشاريعك القادمة
الحمد لله الذي بنعمته تتم الصالحات ،
http://www.elfouadsoft.com
mohamed_tegara@yahoo.com
mohamed_tegara@yahoo.com

