محمد
09-01-2008, 10:33 PM
http://www.vb4arab.com/vb/images/icons/icon1.gif التعامل مع ال DataBase خطوة بخطوة.
السلام عليكم ورحمة الله وبركاتة
بسم الله الرحمن الرحيم والصلاة والسلام على رسول الله صلى الله عليه وسلم ،،
هنبد أن شاء الله خطوة بخطوة كل ال Operations التى نحتاج لهــا للتعامل مع ال DataBases من خلال
Ado.Net Disconnected Mode.
قواعد بيـــانات Access فقط.
اولا : عملية الربط بين ال DataBase و ال Controls.
نقوم باستيراد مجالات الاسماء الاتـــية :
Imports System.Data, System.Data.OleDb
قمنا بعملية استيراد مجالات الاسماء السابقة لاختصار الاكواد .
نقوم بتعريف المتغيرات الاتية وهى المسئولة عن الاتصال ونقل البيانات من مصدر البيانات ال DataSource .
Public ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\DataBaseName.mdb"
Public CON As New OleDbConnection(ConStr)
Public DS As New DataSet
Public SQLstr As String = "SELECT * FROM TableName"
شرح الكود السابق :
Public ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\DataBaseName.mdb"
هنا قمنا بتعريف متغير نصى String وقمنا بأسناد مزود البيانات Data Provider الخاص بقاعدة البيانات Access ويختلف مزود البيانات على حسب نوع قادة البيانات وقمنا ايضا باسناد ال File Path لل DataBase والموجودة داخل المجلد Bin >> Debug ،
لطريقة Application.StartupPath تعود بالملف الذى تم التصريح عنه والموجودة داخل المجلد السابق ذكرة.
Public CON As New OleDbConnection(ConStr)
قمنا هنا بالتصريح عن المتغير Con من نوع OledbConnection هذه الفئة مشمولة داخل مجال الاسماء System.Data والذى قمنا باستيرادة فى بداية المشرو حتى تنجنب كتابة اكواد مكررة حيث انك لن تستطيع مناداة هذه الفئة مباشرة الا من خلال استيراد مجالها او كتابتها بهذه الطريقة.
System.Data.OleDb.OleDbConnection
هذه الفئة هى المسئولة عن عملية الاتصال بين ال VB.net وقاعدة البيانات وهى تقوم بفتح الاتصال غلقة ويوجد بها طرق اضافية مثل State التى تعود بحالة قادة البيانات ( متصلة - مغلقة) ..
وقمنا بتمرير المتغير ConStr الذى يحمل مسار قاعدة البيانات وكذلك مزود البيانات الخاصة بها حتى نمكن Con من الاتصال بقاعدة البيانات.
Public DS As New DataSet
قمنا بالتصريح عن المتغير Ds وهو عبارة عن متغير من النوع DataSet وظيفتة القيام بعملية حفظ البيانات بداخلة بعد فتح قاعدة البيانات من خلال Con ونقل البيانات من خلال ال Adapter الذى سوف نقوم بالتصريح عنه ..
اكتب هذا الكود فى ال Form_Load
Try
CON.Open()
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, CON)
DataAdapter1.Fill(DS, "MainTABLE")
CON.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
شرح الكود :
CON.Open()
هنا استخدمنا المتغير Con المسئول عن فتح الاتصال مع ال DB من خلال الطريقة Open.
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, CON)
فى الكود السابق قمنا بالتصريح عن متغير باسم DataAdapter1 من النوع OleDbDataAdapter وهو المسئول عن عملية نقل البيانات من ال DB الى ال DataSet اى المتغير DS الذى قمنا بالتصريح عنه سابقا.
المتغير DataAdapater1 يحتاج الى ارسال وسيطتين اثناء التصريح ( ليس اجباريا)
هذه الفئة معادة قيادتها Overrides اربع مرات.
يحتاج الى ارسال جمل الاستعلام التى سوف تنفذ على ال DB لنقل البيانات من خلال هذه الجملة سواء بشرط او نقل الجدول كليا ويحتاج ايضا الى ارسال كائن الاتصال Con الذى استخدمناه مسبقا فى عملية فتح الاتصال مع قاعدة البيانات.
DataAdapter1.Fill(DS, "MainTABLE")
هنا قمنا باستخدام الطريقة Fill لنقل البيانات نم ال DataBase الى الكائن DS >>> (DataSet)
ترسل وسيطاتة مثل الكود السابق اسم الكائن DataSet واسم الجدول المراد نقل البيانات منه.
CON.Close()
الان لاداعى لفتح الاتصال لان البيانات الموجودة داخل ال DataBase صارات داخل الكائن DS ولا حاجة لنا بالكائن Con.
اما بالنسبة لجملة ال SQL فهى جملة استعلام عادية لاستخلاص الجدول من ال DataBase.
بعد كتابة الكود داخل Form_Load الان انت جاهز لعملية ربط ادواتك الى تود عرض البيانات من خلالها.
مثــــال لاستخدام TextBox Control لعرض البيانات من خلالهـــا.
Me.TextBox.DataBindings.Add("Text", Me.DS, "TableName.FieldName")
هنا قمنا بربط ال Textbox من خلال الخاصية Text ( هى الخاصية التى نود العرض عليها ) وقمنا باختيار ال DataSet اى DS كمصدر للبيانات DataSource ومن ثم اختيار الحقل المراد ربطة بال TextbOX بنفس الصيغة السابقة.
مثــــال لاستخدام DataGridView Control لعرض البيانات من خلالهـــا.
Me.DataGridView1.DataSource = DS
Me.DataGridView1.DataMember = "TableName"
قمنا هنا بربط ال DataSource الخاص بال DataGridView بال DataSource الخاص بنا وهو DS
وقمنا بربط ال Member باسم الجدول.
الى هنـــا نكون قد انتهينا من عملية الربط.
السلام عليكم ورحمة الله وبركاتة
بسم الله الرحمن الرحيم والصلاة والسلام على رسول الله صلى الله عليه وسلم ،،
هنبد أن شاء الله خطوة بخطوة كل ال Operations التى نحتاج لهــا للتعامل مع ال DataBases من خلال
Ado.Net Disconnected Mode.
قواعد بيـــانات Access فقط.
اولا : عملية الربط بين ال DataBase و ال Controls.
نقوم باستيراد مجالات الاسماء الاتـــية :
Imports System.Data, System.Data.OleDb
قمنا بعملية استيراد مجالات الاسماء السابقة لاختصار الاكواد .
نقوم بتعريف المتغيرات الاتية وهى المسئولة عن الاتصال ونقل البيانات من مصدر البيانات ال DataSource .
Public ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\DataBaseName.mdb"
Public CON As New OleDbConnection(ConStr)
Public DS As New DataSet
Public SQLstr As String = "SELECT * FROM TableName"
شرح الكود السابق :
Public ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\DataBaseName.mdb"
هنا قمنا بتعريف متغير نصى String وقمنا بأسناد مزود البيانات Data Provider الخاص بقاعدة البيانات Access ويختلف مزود البيانات على حسب نوع قادة البيانات وقمنا ايضا باسناد ال File Path لل DataBase والموجودة داخل المجلد Bin >> Debug ،
لطريقة Application.StartupPath تعود بالملف الذى تم التصريح عنه والموجودة داخل المجلد السابق ذكرة.
Public CON As New OleDbConnection(ConStr)
قمنا هنا بالتصريح عن المتغير Con من نوع OledbConnection هذه الفئة مشمولة داخل مجال الاسماء System.Data والذى قمنا باستيرادة فى بداية المشرو حتى تنجنب كتابة اكواد مكررة حيث انك لن تستطيع مناداة هذه الفئة مباشرة الا من خلال استيراد مجالها او كتابتها بهذه الطريقة.
System.Data.OleDb.OleDbConnection
هذه الفئة هى المسئولة عن عملية الاتصال بين ال VB.net وقاعدة البيانات وهى تقوم بفتح الاتصال غلقة ويوجد بها طرق اضافية مثل State التى تعود بحالة قادة البيانات ( متصلة - مغلقة) ..
وقمنا بتمرير المتغير ConStr الذى يحمل مسار قاعدة البيانات وكذلك مزود البيانات الخاصة بها حتى نمكن Con من الاتصال بقاعدة البيانات.
Public DS As New DataSet
قمنا بالتصريح عن المتغير Ds وهو عبارة عن متغير من النوع DataSet وظيفتة القيام بعملية حفظ البيانات بداخلة بعد فتح قاعدة البيانات من خلال Con ونقل البيانات من خلال ال Adapter الذى سوف نقوم بالتصريح عنه ..
اكتب هذا الكود فى ال Form_Load
Try
CON.Open()
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, CON)
DataAdapter1.Fill(DS, "MainTABLE")
CON.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
شرح الكود :
CON.Open()
هنا استخدمنا المتغير Con المسئول عن فتح الاتصال مع ال DB من خلال الطريقة Open.
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, CON)
فى الكود السابق قمنا بالتصريح عن متغير باسم DataAdapter1 من النوع OleDbDataAdapter وهو المسئول عن عملية نقل البيانات من ال DB الى ال DataSet اى المتغير DS الذى قمنا بالتصريح عنه سابقا.
المتغير DataAdapater1 يحتاج الى ارسال وسيطتين اثناء التصريح ( ليس اجباريا)
هذه الفئة معادة قيادتها Overrides اربع مرات.
يحتاج الى ارسال جمل الاستعلام التى سوف تنفذ على ال DB لنقل البيانات من خلال هذه الجملة سواء بشرط او نقل الجدول كليا ويحتاج ايضا الى ارسال كائن الاتصال Con الذى استخدمناه مسبقا فى عملية فتح الاتصال مع قاعدة البيانات.
DataAdapter1.Fill(DS, "MainTABLE")
هنا قمنا باستخدام الطريقة Fill لنقل البيانات نم ال DataBase الى الكائن DS >>> (DataSet)
ترسل وسيطاتة مثل الكود السابق اسم الكائن DataSet واسم الجدول المراد نقل البيانات منه.
CON.Close()
الان لاداعى لفتح الاتصال لان البيانات الموجودة داخل ال DataBase صارات داخل الكائن DS ولا حاجة لنا بالكائن Con.
اما بالنسبة لجملة ال SQL فهى جملة استعلام عادية لاستخلاص الجدول من ال DataBase.
بعد كتابة الكود داخل Form_Load الان انت جاهز لعملية ربط ادواتك الى تود عرض البيانات من خلالها.
مثــــال لاستخدام TextBox Control لعرض البيانات من خلالهـــا.
Me.TextBox.DataBindings.Add("Text", Me.DS, "TableName.FieldName")
هنا قمنا بربط ال Textbox من خلال الخاصية Text ( هى الخاصية التى نود العرض عليها ) وقمنا باختيار ال DataSet اى DS كمصدر للبيانات DataSource ومن ثم اختيار الحقل المراد ربطة بال TextbOX بنفس الصيغة السابقة.
مثــــال لاستخدام DataGridView Control لعرض البيانات من خلالهـــا.
Me.DataGridView1.DataSource = DS
Me.DataGridView1.DataMember = "TableName"
قمنا هنا بربط ال DataSource الخاص بال DataGridView بال DataSource الخاص بنا وهو DS
وقمنا بربط ال Member باسم الجدول.
الى هنـــا نكون قد انتهينا من عملية الربط.