الجمعة، 26 يوليو 2013

دورة السي شارب الدرس 17- ربط قاعدة بيانات accessمع c#- وتنفيذ جمل إستعلام - الوضع المتصل


دورة السي شارب
الدرس 17- ربط قاعدة بيانات accessمع c#- وتنفيذ جمل إستعلام - الوضع المتصل


السلام عليكم ورحمة الله وبركاته...

*** ملاحظة : الفرق بين هذا الدرس والدرس 18 هو قاعدة البيانات المستخدمة فقط ***

 

 

أولا :

 

قم بإنشاء قاعدة بيانات وسمها mydatabase ( تم شرح الطريقة في الدرس 15 )...

 ثم قم بإنشاء جدول بها وسمه mytable وضع فيه عواميد كالتالي...

 

العمود - الإسم - نوع البيانات

 1 - FirstName - نصية nchar(10)

 2 - Age - رقم bigint

 

الان قم بعرض بيانات الجدول عن طريق RightClick من ال Mouse على الجدول ثم إختر Show Table Data ثم إبدأ بوضع البيانات كالتالي...

 

طارق - 15

 إسمك - عمرك وهكذا ....

 

 

 

 

ثانيا... ربط قاعدة البيانات مع ال c#.

 

أولا قم بإستيراد المجال:

كود:

System.Data.OleDb;

 

 

 

الان ضع Button على الفورم وضع أيضا listbox ...

 

ثم إكتب في الكود الخاص بالحدث Click لل button1 ...

OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TD\Documents\mydatabase.mdb");

string mycmd = "select FirstName,Age from mytable";

OleDbCommand loecmd = new OleDbCommand(mycmd, cn);

cn.Open();

OleDbDataReader myreader = loecmd.ExecuteReader();

while (myreader.Read())

{

listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());

}

cn.Close();

myreader.Close();

شرح الكود السابق...

OleDbConnection cn = new OleDbConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

هنا قمنا بتعريف الإتصال الخاص بقاعدة البيانات mydatabase ...

string mycmd = "select FirstName,Age from mytable";

هنا قمنا بتعريف متغير من نوع String يحوي على نص جملة الإستعلام...

OleDbCommand mysqlcmd = new OleDbCommand(mycmd, cn);

cn.Open();

هنا قمنا بتعريف ال Command الذي سوف نرسله لقاعدة البيانات وفتح الإتصال...

OleDbDataReader myreader = loecmd.ExecuteReader();

 

لان قمنا بتعريف قارئ للبيانات علما أن أنواع القوارئ هي...

 

 

 

ExecuteReader: في حال كان الناتج عدد كبير من البيانات...

 

ExecuteNonQuery: في حال لا يوجد أي قيمة مرجعة مثل عمل update أو delete ...

 

ExecuteScalar : في حال كان لا يوجد إلا قيمة مرجعة واحدة مثل الإسم الأول مثلا...

 

ExecuteXmlReader : لأخذ الناتج على شكل XML ...

 

 

الكود التالي...

while (myreader.Read())

{

listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());

}

قراءة البيانات الناتجة كما في الشكل السابق...

myreader.Close();

cn.Close();

إغلاق كل شيئ تم إستخدامه وهو الإتصال والقارئ...

 

 

الان نكون قد بدأنا بأساسيات ربط قواعد البيانات...

 

بإذن الله في الدرس القادم سوف نطبق جمل إستعلام متقدمة والتعلم كيف عمل insert,update,delete إلى ما هنالك...

 

مع تحياتي :عبدالقادر البعداني

إلى اللقاء في الدرس القادم إن شاء الله...

ليست هناك تعليقات:

إرسال تعليق