بررسی كنترل های منبع داده در ASP.NET 2.0 New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 چهارشنبه  29  دی  1395  2017  Jan.  18   Wendesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 كنترل های منبع داده در ASP.NET 2.0 ( بخش دوم )

 مديريت وب

12901

62

5

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

 تاثير حافظه اصلی بر كارآئی سيستم

كنترل های منبع داده در ASP.NET 2.0  ( بخش دوم )
همانگونه كه در بخش اول اشاره گرديد ، برای نمايش اطلاعات بر روی صفحات وب از چهار روش و يا منبع اساسی استفاده می گردد . بازيابی و نمايش ( و يا بازيابی ، پردازش و نمايش ) داده های موجود در منابع خارجی نظير بانك های اطلاعاتی يكی از متداولترين روش های نمايش اطلاعات بر روی صفحات وب است .
در اين بخش به بررسی امكانات ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0 به منظور دستيابی و نمايش داده خواهيم پرداخت تا مسير ما برای بررسی كنترل های منبع داده هموار گردد .

امكانات مورد نياز به منظور دستيابی و نمايش داده
دستيابی و نمايش داده دو گام اساسی به منظور استفاده از داده موجود در منابع داده نظير بانك های اطلاعاتی و يا فايل های Xml  می باشد كه لازم است در ابتدا عليرغم همگرائی هدفمند آنان ، بين دو عمليات فوق تفاوت قائل گرديد.
پياده كنندگان نرم افزار با توجه به نوع پلت فرم ، از مكانيزم های خاصی به منظور انجام هر يك از مراحل فوق استفاده می نمايند :

  • دستيابی داده : در اين رابطه لازم است كه از مكانيزم و يا مكانيزم هائی به منظور  ايجاد ارتباط با بانك اطلاعاتی ، اجرای يك query  و ذخيره مجموعه ركورد برگردانده شده در يك ساختمان داده خاص،‌ استفاده گردد.

  • نمايش داده : در اين رابطه لازم است كه از مكانيزم و يا مكانيزم هائی خاص به منظور نمايش داده بازيابی شده با فرمت دلخواه در صفحات وب استفاده گردد .

در زمان دستيابی و نمايش داده همواره با دو پرسش اساسی مواجه شويم : اول اين كه پلت فرم استفاده شده چه نوع امكانات و تسهيلاتی را به منظور دستيابی داده در اختيار پياده كنندگان قرار می دهد ؟ دوم اين كه برای نمايش داده در صفحات وب ، پلت فرم مورد نظر چه نوع تسهيلاتی را ارائه می نمايد تا پياده كنندگان بتوانند با صرف كمترين وقت اقدام به توليد صفحاتی نمايند كه محتويات درون آنان متاثر از داده های موجود در بانك های اطلاعاتی باشد؟
اجازه دهيد پاسخ به دو پرسش فوق را با بررسی سه محيط متفاوت  ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0 انجام دهيم .

ASP كلاسيك
پياده كنندگانی كه از فن آوری ASP در گذشته ای نه چندان دور به منظور پياده سازی برنامه های وب با محوريت دستيابی داده استفاده می كردند ، مجبور بودند برای دستيابی و نمايش داده  ، اقدام به نوشتن كدهای مورد نياز نمايند .

دستيابی‌ داده
گرچه به منظور دستيابی به داده در ASP كلاسيك از اشياء متفاوتی كه به جملگی آنان ADO ( برگرفته از ActiveX Data Object ) گفته می شود ، استفاده می گرديد ولی پياده كنندگان می بايست تمامی مراحل ايجاد ارتباط با بانك اطلاعاتی تا اجرای يك Query  ، تشكيل يك Recordset و حركت در بين ركوردهای موجود در recordset  را مستقيما" كد نمايند . دستيابی داده در ASP كلاسيك مستلزم انجام مراحل زير است :

  • مرحله اول : ايجاد يك ارتباط با بانك اطلاعاتی

  • مرحله دوم : مشخص نمودن provider و مسير فيزيكی ذخيره بانك اطلاعاتی

  • مرحله سوم : ايجاد يك Recordset 

  • مرحله چهارم : تعريف يك query 

  • مرحله پنجم : باز كردن بانك اطلاعاتی با توجه به ارتباط ايجاد شده و اجرای query  مورد نظر

  • مرحله ششم :  بازيابی ركوردها  و ذخيره آنان در يك recordset

نمايش داده
در ASP كلاسيك، امكانات پيشرفته ای به منظور نمايش داده  وجود نداشت و تمام ابزار پياده كنندگان ، يك جدول Html بود كه می توانسنتد به صورت پويا سطرها و ستون هائی را به آن اضافه نمايند ( جدول از نوع Html نه به عنوان يك كنترل سرويس دهنده ) .
مثلا" برای نمايش نتايج برگردانده شده در اثر اجرای يك query ، پياده كنندگان مجبور بودند كه در ابتدا داده را بازيابی نموده و در ادامه با استفاده از تگ <Tabel> يك جدول را ايجاد و به موازات حركت در بين ركوردهای برگردانده شده و از طريق يك حلقه تكرار ، هر يك از ركوردها را به عنوان يك سطر جديد به جدول اضافه نمايند .  برای افزودن يك سطر جديد ، در ابتدا با استفاده از يك تگ <tr> يك سطر جديد ايجاد و در ادامه برای هر يك از فيلدهای موجود در جدول بانك اطلاعاتی كه اطلاعات مرتبط با آنان بازيابی شده است يك ستون به كمك تگ <td> ايجاد و در نهايت پس از نمايش تمامی ركوردهای موجود درrecordset ،‌ انتهای جدول با استفاده از تگ < table  /> مشخص می گردد .
نمايش داده در ASP كلاسيك مستلزم انجام مراحل زير است :

  • مرحله اول : ايجاد يك جدول به همراه عناوين ستون ها در خارج از حلقه تكرار 

  • مرحله دوم : ايجاد يك حلقه تكرار كه شرط خاتمه  آن رسيدن به انتهای ركوردهای موجود در Recordset است .

  • مرحله سوم : ايجاد يك سطر در حلقه تكرار كه شرايط نمايش يك ركورد را فراهم نمايد .

  • مرحله چهارم : ايجاد ستون های مورد نظر در هر سطر و  نمايش فيلدهای داده بازيابی شده موجود در Recordset

  • مرحله پنچم: حركت اشاره گر به ركوردهای موجود در  recordset  به سمت جلو

  • مرحله ششم :  غيرفعال كردن اتصال ايجاد شده با بانك اطلاعاتی

  • مرحله هفتم  : بستن جدول پس از اتمام حلقه تكرار

كد زير نحوه انجام عمليات فوق ( دستيابی و نمايش داده)  در ASP  كلاسيك را نشان می دهد :

نحوه دستيابی 

<%
Set adoCon = Server.CreateObject("ADODB.Connection")
strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/../Test.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM TestTable
rs.Open strSQL, strCon

نحوه نمايش 


<table width="548"   height="20" >
<tr>
   <td>
عنوان ستون اول  </td>
   <td>
عنوان ستون دوم </td>
</tr>
 <%While (NOT rs.Eof)  %>
 <tr>
  <td><%=Rs("Field1")%></td>
  <td><%=Rs("Field2")%></td>
 </tr>
  <%
   rs.MoveNext
   WEND
   Set rs = Nothing
   Set adoCon = Nothing
%>
</table>

همانگونه كه مشاهده می نمائيد ، عمليات دستيابی و نمايش داده مستلزم نوشتن كدهای مورد نياز توسط پياده كننده است . در مواردی كه لازم است اطلاعات با يك فرمت خاص در جدول نمايش داده شود ، پياده كنندگان می بايست از امكانات موجود به منظور تعريف فرمت مورد نياز برای هر يك از سطرها و يا ستون ها به صورت پويا استفاده نمايند . انجام اين كار همواره برای پياده كنندگان مشكل و يا حداقل زمان گير است .
در ASP كلاسيك ما در دو بخش دستيابی و نمايش دچار كمبود امكانات بالقوه می باشيم و پياده كنندگان مجبور به نوشتن كد لازم به منظور انجام هر يك از عمليات دستيابی و نمايش داده می باشند .
دنيای پويای برنامه نويسی همواره اين وضعيت را داشته است و  در ابتدا پايه يك چيز بر اساس امكانات موجود در زمان خود ايجاد می گردد و در ادامه با پيشرفت در فن آوری ها ، امكانات و پتانسيل های جديدی در اختيار پياده كنندگان قرار می گيرد با اين اميد كه بتوان يك نرم افزار را در زمانی معقول و هزينه ای منطقی پياده سازی نمود . برنامه های وب نيز از اين قاعده مستثنی نبوده و تمامی پياده كنندگانی كه از ASP كلاسيك به منظور پياده سازی برنامه های وب استفاده می كردند ، در انتظار يك تحول بزرگ بودند ، تحولی كه با ارائه ASP.NET 1.x شروع گرديد .

 ASP.NET 1.x
ASP.NET 1.x ، نسبت به نسخه قبلی يعنی ASP كلاسيك با تغييرات گسترده ای ارائه گرديد . از جمله تغييرات مهم در ارتباط با دستيابی و نمايش داده ، ارائه مجموعه كنترل هائی بود كه پياده كنندگان می توانستند از آنان به منظور نمايش اطلاعات بازيابی شده از منابع داده استفاده نمايند . در اين نسخه ، برای دستيابی به داده از امكاناتی نظير بكارگيری كنترل های خاصی استفاده نمی گرديد و عملا" روش های دستيابی داده در ASP.NET 1.x شباهت زيادی به نمايش داده در برنامه های نوشته شده با استفاده از ASP  كلاسيك داشت .
همانگونه كه اشاره گرديد ، در ASP  كلاسيك به منظور نمايش اطلاعات بازيابی شده از بانك های اطلاعاتی و ساير منابع داده ، پياده كنندگان مجبور بودند كد لازم برای بازيابی و حركت بين ركوردهای بازيابی شده را نوشته و پس از تعريف يك فرمت مناسب ، محتويات مورد نظر را كه شامل اطلاعات بازيابی شده و تگ های Html است ،  بر اساس يك ساختار خاص تعريف شده توسط پياده كننده در صفحات وب نمايش دهند . بدين منظور كنترل های سرويس دهنده خاصی كه از آنان با نام كنترل های نمايش اطلاعات و يا كنترل های داده وب نام برده می شود، ايجاد گرديد . پياده كننده گان با استفاده از كنترل های فوق قادر به نمايش اطلاعات بازيابی شده از منابع داده در صفحات وب بودند . كنترل های  DataGrid,DataList,Repeater و يا حتی  DropDownList نمونه هائی ‌از ساختارهای نمايش اطلاعات می باشند كه  استفاده از آنان مستلزم نوشتن كد زيادی نمی باشد  و با حداقل كد لازم می توان آنان را آماده نمايش اطلاعات مرتبط با يك منبع داده نمود . به عنوان نمونه ، پياده كنندگان با استفاده از يك كنترل سرويس دهنده نمايش اطلاعات نظير DataGrid لازم نبود كه خود را درگير تگ های Html به منظور ايجاد يك جدول نمايند .
همانگونه كه اشاره گرديد ، يكی از مهمترين تغييرات ASP.NET 1.x نسبت به نسخه قبلی خود يعنی ASP ، ارائه كنترل های سرويس دهنده نمايش اطلاعات است كه اين امكان را در اختيار پياده كنندگان قرار می دهد تا با نوشتن حداقل كد لازم بتوانند داده مورد نظر را از هر نوع منبع داده بازيابی و با فرمت دلخواه و بهره گيری از پتانسيل های تگ های Html بر روی صفحات وب نمايش دهند . رويكرد فوق دو دستاورد مهم را برای پياده كنندگان به دنبال داشت : 

  • با توجه به اين كه به منظور نمايش اطلاعات بر روی صفحات وب به كد اندكی نياز می باشد ، در وقت پياده كنندگان صرفه جوئی می گردد.  

  • به مهارت اندكی به منظور نمايش اطلاعات برروی صفحات وب نياز می باشد .

در ASP.NET 1.x كنترل های سرويس دهنده نمايش اطلاعات و يا كنترل های داده وب ، يك الگوی مناسب به منظور نمايش داده را ارائه می نمايند  كه به نحوه تفسير و نمايش داده در هر يك از كنترل های سرويس دهنده نمايش اطلاعات وابسته نخواهد بود . مثلا" داده موجود در  DataGrid در يك ساختار مشابه جدول متشكل از مجموعه ای سطر و ستون و يا در يك كنترل DropDownList  نمايش داده می شود . نحوه نسبت دهی داده به دو كنترل فوق مشابه می باشد و می بايست  خصلت DataSource آنان به درستی مقداردهی شود و با استفاده از متد DataBind عمليات نسبت دهی داده به كنترل مربوطه انجام شود .

دستيابی داده
همانگونه كه اشاره گرديد ، برای دستيابی به داده از امكاناتی نظير بكارگيری كنترل های خاصی استفاده نمی گرديد و عملا" روش های دستيابی داده در ASP.NET 1.x شباهت زيادی به برنامه های نوشته شده با استفاده از ASP  كلاسيك دارد . دستيابی‌ داده در ASP.NET 1.x مستلزم انجام مراحل زير است :

  • مرحله اول : ايجاد يك ارتباط با بانك اطلاعاتی و فعال نمودن  آن

  • مرحله دوم : تعريف يك query

  • مرحله سوم : ايجاد يك recordset

  • مرحله چهارم : نسبت دادن recordset به كنترل سرويس دهنده استفاده شده برای‌ نمايش اطلاعات

  • غيرفعال كردن ارتباط ايجاد شده با بانك اطلاعاتی و بستن  recordset

نمايش داده
برای نمايش اطلاعات بازيابی شده از منابع داده در ASP.NET 1.x ،‌ كنترل های سرويس دهنده نمايش اطلاعات متعددی نظيرDataGrid,DataList,Repeater ارائه شده است . با استفاده از كنترل های فوق علاوه بر امكان مديريت آنان توسط برنامه در زمان پياده كنندگان نيز صرفه جوئی می گردد . نمايش داده در ASP.NET 1.x مستلزم انجام مراحل زير است :

  • تعريف يك كنترل سرويس دهنده نمايش اطلاعات و يا داده وب در بخش Html يك صفحه aspx .

  • اختصاص يك شناسه خاص به آن كه از طريق خصلت id انجام می شود .

  • نسبت دادن recordset بازيابی شده به خصلت DataSource كنترل در بخش Script يك صفحه aspx .

  • استفاده از متد DataBind كنترل سرويس دهنده نمايش اطلاعات به منظور انتشار داده بازيابی شده در كنترل از طريق بخش Script يك صفحه  aspx .

كد زير نحوه انجام عمليات فوق ( دستيابی و نمايش داده)  در ASP,NET 1.x را نشان می دهد :

 بخش اسكريپت

نحوه دستيابی

<%@ Import Namespace="System.Data.OleDb" %>

<SCRIPT runat="server">
Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String

Sub Page_Load

مرحله اول : ايجاد و فعال نمودن يك ارتباط بانك اطلاعاتی

DBConnection = New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\Test\Test.mdb")
DBConnection.Open()

 مرحله دوم : ايجاد يك query

SQLString = "SELECT * FROM Students"
DBCommand = New OleDbCommand(SQLString, DBConnection)

مرحله سوم : ايجاد يك recordset

DBReader = DBCommand.ExecuteReader()

مرحله چهارم : نسبت دادن recordset به كنترل

MyDataGrid.DataSource = DBReader
MyDataGrid.DataBind()

مرحله پنجم : غيرفعال كردن ارتباط ايجاد شده با بانك اطلاعاتی و بستن  recordset

DBReader.Close()
DBConnection.Close()
End Sub


</SCRIPT>

بخش Html

نحوه نمايش


<Form runat="Server" >
 
<asp:DataGrid id="MyDataGrid" runat="server"/>

</form>
 

با طولانی شدن اين بخش از مقاله ، اجازه دهيد بررسی نحوه دستيابی و نمايش داده در ASP.NET 2.0 را به بخش سوم واگذار نمائيم .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382