大家都知道酒酿蛋是非常传统的美胸食品产后丰胸产品,醪糟也叫酒酿,是由糯米或者大米经过酵母发酵而制成的一种风味食品,其产热量高,富含碳水化合物丰胸产品燕窝酒酿蛋、蛋白质、b族维生素、矿物质等,这些都是人体不可缺少的营养成分酒酿蛋丰胸方法。其中酒酿中含的醣化酵素,能促进乳房的二次发育,具有美胸的作用燕窝酒酿蛋丰胸
كنترل های منبع داده در ASP.NET 2.0 ( بخش دوم )
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

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

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

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

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

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

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

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

كد زير نحوه انجام عمليات فوق ( دستيابی و نمايش داده)  در 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 مستلزم انجام مراحل زير است :

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

كد زير نحوه انجام عمليات فوق ( دستيابی و نمايش داده)  در 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 را به بخش سوم واگذار نمائيم .


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir