المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس 18: ربط قاعدة بيانات sql مع c#,vb.net وتنفيذ جمل إستعلام - الوضع المتصل


khaledbelal
02-13-2010, 03:25 AM
--- السلام عليكم ورحمة الله وبركاته ---

أولا :

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

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

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

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




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

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

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

SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.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();

vb.net :

cn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
Dim mycmd As String = "select FirstName,Age from mytable"
Dim cmd As SqlCommand = New SqlCommand(mycmd, cn)
cn.Open()
Dim myreader As SqlDataReader = cmd.ExecuteReader
While myreader.Read()
ListBox1.Items.Add("firstname: " + myreader("FirstName") + " Age: " + myreader("Age").ToString)
End While
cn.Close()
myreader.Close()

شرح الكود السابق...
أولا:
vb.net:

Dim cn As New SqlConnection
cn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

c#:

SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

هنا قمنا بتعريف الإتصال الخاص بقاعدة البيانات mydata**** ...
vb.net :

Dim mycmd As String = "select FirstName,Age from mytable"

c# :

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

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

vb.net :

Dim cmd As SqlCommand = New SqlCommand(mycmd, cn)
cn.Open()

c# :

SqlCommand mysqlcmd = new SqlCommand(mycmd, cn);
cn.Open();

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

vb.net :

Dim myreader As SqlDataReader = cmd.ExecuteReader

c# :

SqlDataReader myreader = mysqlcmd.ExecuteReader();

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



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

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

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

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


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

vb.net:


While myreader.Read()
ListBox1.Items.Add("firstname: " + myreader("FirstName") + " Age: " + myreader("Age").ToString)
End While

c# :

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

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


vb.net :

cn.Close()
myreader.Close()

c# :

cn.Close();
myreader.Close();

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


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



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

منقول من منتدى فيجوال بيسك للعرب

ماريا إسلام
05-21-2011, 01:20 AM
جزاكم الله خيرااا كثيرااا
//