الخميس، 25 يوليو 2013

دورة السي شارب الدرس 16- ربط قاعدة بيانات sql c#-مع جمل إستعلام - الوضع المتصل


دورة السي شارب
الدرس 16- ربط قاعدة بيانات sql    c#-مع جمل إستعلام - الوضع المتصل

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

أولا :
قم بإنشاء قاعدة بيانات وسمها mydatabase ( تم شرح الطريقة في الدرس 15 )...
 ثم قم بإنشاء جدول بها وسمه mytable وضع فيه عواميد كالتالي...

العمود - الإسم - نوع البيانات
 1 - FirstName - نصية nchar(10)
 2 - Age - رقم bigint

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

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


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

أولا قم بإستيراد المجال:
System.Data.SqlClient
الان ضع Button على الفورم وضع أيضا listbox ...

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

c#:
كود:
SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string mycmd = "select FirstName,Age from mytable";
SqlCommand mysqlcmd = new SqlCommand(mycmd, cn);
cn.Open();
SqlDataReader myreader = mysqlcmd.ExecuteReader();
while (myreader.Read())
{
listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());
}
cn.Close();
myreader.Close();
أولا:
.:
c#

SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
هنا قمنا بتعريف الإتصال الخاص بقاعدة البيانات mydatabase ...

c# :

كود:
string mycmd = "select FirstName,Age from mytable";
هنا قمنا بتعريف متغير من نوع String يحوي على نص جملة الإستعلام...


c# :

كود:
SqlCommand  mysqlcmd = new SqlCommand(mycmd, cn);
cn.Open();
هنا قمنا بتعريف ال Command الذي سوف نرسله لقاعدة البيانات وفتح الإتصال...


كود:
SqlDataReader myreader = mysqlcmd.ExecuteReader();
الان قمنا بتعريف قارئ للبيانات علما أن أنواع القوارئ هي...



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

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

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

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


الكود التالي...
while (myreader.Read())
{
listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());
}
قراءة البيانات الناتجة كما في الشكل السابق...

cn.Close();
myreader.Close();
إغلاق كل شيئ تم إستخدامه وهو الإتصال والقارئ...


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

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

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

هناك تعليق واحد:

  1. اريد معرفة كيفية بناء استعلام يعيد اعمدة وليس صفوف

    ردحذف