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

مشاهدة النسخة كاملة : الدرس السابع والسبعون : ASP.net وقواعد البيانات - دورة .net 2008


khaledbelal
03-11-2010, 07:41 PM
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

سنأخذ الآن جولة سريعة في عالم قواعد البيانات مع ASP.net ، في الواقع لن تحتاج لأكثر من المعلومات التي تعلمتها في دروس ADO.net ، والتي سنطبقها هنا .

لذا سنقوم بداية بعمل موقع بسيط يقوم فقط بقراءة أسماء من قاعدة البيانات وطباعتها للمستخدم ، سنستخدم قاعدة بيانات تحتوي مبدئياً على اسم المنتج وسعره ، فقط هذا هو الكود ليس أكثر ولا اقل :

C#:

SqlConnection cn = new SqlConnection(@"Data Source=AHMED-PC\SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False");
cn.Open();
SqlCommand cmd = new SqlCommand("select * from Items",cn);
SqlDataReader dr= cmd.ExecuteReader();
while (dr.Read())
{
Response.Write("<b><font color=blue> Item Number: </font></b>" + dr.GetInt64(0).ToString() + "<br/>");
Response.Write("<b><font color=blue> Item Name: </font></b>" + dr.GetString(1) + "<br/>");
Response.Write("<b><font color=blue>Item Price: </font></b>" + dr.GetInt64(2).ToString() + "<hr/>");
}

vb.net:

Dim cn As New SqlConnection("Data Source=AHMED-PC\SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False")
cn.Open()
Dim cmd As New SqlCommand("select * from Items", cn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()

Response.Write("<b><font color=blue> Item Number: </font></b>" + dr.GetInt64(0).ToString() + "<br/>")
Response.Write("<b><font color=blue> Item Name: </font></b>" + dr.GetString(1) + "<br/>")
Response.Write("<b><font color=blue>Item Price: </font></b>" + dr.GetInt64(2).ToString() + "<hr/>")
End While

والناتج :

http://vb4arab.com/vb/uploaded/3/01219933715.jpg

الآن سنجمل عملية العرض قليلاً ، سنستخدم بعض الجداول كما سنضيف لقاعدة البيانات حقل رابط الصورة ، سنضيف بعض الصور في مجلد iamges في نفس مسار البرنامج والتي سنعرضها لكل منتج - الكود سيكون بالشكل التالي :

C#:

SqlConnection cn = new SqlConnection(@"Data Source=AHMED-PC\SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False");
cn.Open();
SqlCommand cmd = new SqlCommand("select * from Items",cn);
SqlDataReader dr= cmd.ExecuteReader();
Response.Write("<center><table border=1><tr valign=center align=center bgcolor=#AAAAAA><td><b>Item No.</b></td><td><b>Item Name</b></td><td><b>Item Price</b></td><td><b>Sample</b></td></tr>");
while (dr.Read())
{
Response.Write("<tr><td><b>" + dr.GetInt64(0).ToString() + "</b></td>");
Response.Write("<td>" + dr.GetString(1) + "</td>");
Response.Write("<td>" + dr.GetInt64(2).ToString() + "</td>");
Response.Write(@"<td><img src='images/" + dr.GetString(3) + "'></td></tr>");
}
Response.Write("</table></center>");

vb.net:

Dim cn As New SqlConnection("Data Source=AHMED-PC\SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False")
cn.Open()
Dim cmd As New SqlCommand("select * from Items", cn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
Response.Write("<center><table border=1><tr valign=center align=center bgcolor=#AAAAAA><td><b>Item No.</b></td><td><b>Item Name</b></td><td><b>Item Price</b></td><td><b>Sample</b></td></tr>")
While dr.Read()

Response.Write("<tr><td><b>" + dr.GetInt64(0).ToString() + "</b></td>")
Response.Write("<td>" + dr.GetString(1) + "</td>")
Response.Write("<td>" + dr.GetInt64(2).ToString() + "</td>")
Response.Write("<td><img src='images/" + dr.GetString(3) + "'></td></tr>")
End While
Response.Write("</table></center>")

والناتج سيكون بالشكل التالي مثلاً :

http://vb4arab.com/vb/uploaded/3/11219933715.jpg

*** هذه هي نفس الطريقة التي كنا نطبقها في عالم ASP CLassic ، الآن سنتعرف على بعض التسهيلات التي تتيحها لنا ال .net ...

DataGrid :
تعتبر هذه الاداة اكثر ادوات البيانات شهرة مع ASP.net ، سنجرب الآن التعامل معها ...

قم برسم DataGrid ، قم برسم مربع نص وزر أمر من اجل عملية البحث ، ومن ثم قم بسحب SqlDataSource ونقوم بربطها بجدولنا بالشكل التالي :

http://vb4arab.com/vb/uploaded/3/01219934845.jpg

سيطلب منك لاحقاً حفظ ال Connection String ، اضغط Next .

في الخطوة الثالثة سيطلب منك تحديد مصدر البيانات ، قم باختيار كافة محتويات الحقل :

http://vb4arab.com/vb/uploaded/3/11219934845.jpg

سنضع ايضاً شرط ان للمستخدم الحق في اظهار البضائع تحت سعر معين فقط ، لذا سنضيف متغيراً ونحدد نوعه بأنه Control ونضع اسم مربع النص بالشكل التالي :

http://vb4arab.com/vb/uploaded/3/21219934845.jpg

فقط يمكنك تجربة ال Query ، اضغط انهاء .

الآن سنقوم بالعودة إلى ال DataGrid ، قم باختيار DataSource لها ليكون ال SqlDataSource الذي قمنا بانشاءه منذ قليل بالشكل التالي :

http://vb4arab.com/vb/uploaded/3/31219934845.jpg

وفقط ، قم بتجربة البرنامج ، قم باختيار ارقام مختلفة والضغط على زر Enter ، الناتج سيكون شيئاً مشابهاً لهذا :

http://vb4arab.com/vb/uploaded/3/41219934845.jpg

خصائص اضافية :

سنتحدث الآن عن بعض الخصائص الاضافية المرفقة بهذه الأداة ، اولها هي المظهر .
يمكنك تعديل المظهر من خلال CSS خاص ، ويمكنك الاختيار بين الموجود بالشكل التالي :

http://vb4arab.com/vb/uploaded/3/01219937615.jpg

النقطة الثانية ، هي السماح بالعمليات المختلفة على أداة GridView ، يمكنك السماح بوجود الصفحات ، والاختيار والترتيب ايضاً :

http://vb4arab.com/vb/uploaded/3/11219937615.jpg

الناتج سيكون شيئاً بالشكل التالي :

http://vb4arab.com/vb/uploaded/3/21219937615.jpg

الآن سنجرب وضع حدث للاختيار ، يمكنك قراءة السجل المجدد باستخدام :

GridView1.SelectedRow.Cells[0]

الآن سنجد ضمن الخصائص الخواص التالية :

http://vb4arab.com/vb/uploaded/3/31219937615.jpg

تسمح لنا هذه الخصائص بعمليات الحذف والتعديل والاضافة ، بالشكل التالي مثلاً :

http://vb4arab.com/vb/uploaded/3/41219937615.jpg

هناك ايضاً ادوات اخرى مثل FormView و details view والتي تستخدم ايضاً للعرض وخلافه .
لكل هذه الادوات ، يمكن التعديل في خصائص الأعمدة واسمائها حسب ما تريد بالشكل التالي مثلاً :

http://vb4arab.com/vb/uploaded/3/51219937615.jpg

كانت هذه جولة سريعة في عالم قواعد البيانات مع ASP.net ، باقي التفاصيل تجدها في الدروس الاساسية لل ADO.net .

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

tdi4
04-12-2010, 06:19 AM
مشكوررررررررررررررر اخي الفاضل
تحياتي
:36_1_39[1]:

khaledbelal
04-12-2010, 03:52 PM
العفو بارك الله فيك