استفاده از پارامترها با کنترل های داده - 2

کنترل های سرور داده و پارامترها :

در بخش قبل به تعريف پارامترها ، دليل و نحوه استفاده ، انواع و جهت آنها پرداختيم . اما در اين بخش می خواهيم به شما نحوه استفاده و کاربرد عملی آنها را در عمليات های گوناگون انتخاب ، ويرايش ، حذف و ... داده با استفاده از کنترل های سرور داده در ASP.NET را آموزش دهيم .

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

برای مثال يک کنترل SqlDataSource را در نظر بگيريد . اين کنترل برای انتخاب داده از منبع داده ای خود دستور SelectCommand را يک دستور به زبان SQL است را اجرا می کند . شما بايستی پارامترهای مورد نظر خود را به صورت نشانه هایی در دستورات SQL مربوط به هر يک از عمليات های داده ای قرار دهيد . برای اين منظور يک نام منحصر به فرد برای پارامتر انتخاب کرده و علامت @ را در ابتدای هر پارامتر در دستور SQL بگذارید . در اين صورت مقدار اين پارامتر بايد در زمان اجرا و توسط کاربر تعيين شود . برای درک بهتر اين مطلب به مثال زير توجه کنيد :

مثال : برای مثال می خواهيم در جدول Students که در زير می بينيد و شامل مشخصات چندين دانشجو است ، در هر لحظه اطلاعات مربوط به يک دانشجو را که نام آن برابر با پارامتر Person است ، را انتخاب کرده و در يک جدول نمايش دهيم . برای اين منظور بايستی از دستور SQL به صورت زير استفاده کنيم :

مثال
SelectCommand = "  Select   *   From    Students    Where  Name   =  @Person    " کد

Students Table
Id Name Family Major Garde
1 Ali Mosavi HardWare 16
2 Soheil Maesomi SoftWare 18
3 Reza Kashani SoftWare 14
4 Sohrab Samadi HardWare 19

بعد از اينکه پارامتر را در دستور SQL جاسازی و ايجاد کرديم ، بايد به نحوی مقدار آن را برای کنترل تامين کنيم . تامين مقدار اين پارامتر می تواند از طريق يکی از انواع پارامترهای ممکن در ASP.NET که در بخش قبلی معرفی کرديم ، صورت گيرد . کنترل های سرور داده برای دريافت مقادير پارامترهای ايجاد شده برای هر عمليات داده ای خاص مثل Insert , Delete , Update و يا Select ، از يک مجموعه پارامتر يا Parameter Collection خاص استفاده می کند . اين مجموعه ها بر عمليات های مختلف داده ای عبارتند از :

  • SelectParameters : اين مجموعه نگهدارنده پارامترهای لازم برای عمليات انتخاب داده ، یعنی پارامترهای تعيين شده در دستور SelectCommand کنترل است .
  • UpdateParameters : اين مجموعه نگهدارنده پارامترهای لازم برای عمليات ويرايش و به روز رسانی داده ، یعنی پارامترهای تعيين شده در دستور UpdateCommand کنترل است .
  • DeleteParameters : اين مجموعه نگهدارنده پارامترهای لازم برای عمليات حذف داده ، یعنی پارامترهای تعيين شده در دستور DeleteCommand کنترل است .
  • InsertParameters : اين مجموعه نگهدارنده پارامترهای لازم برای عمليات وارد کردن داده های جديد ، یعنی پارامترهای تعيين شده در دستور InsertCommand کنترل است .

چنانچه برای هر يک از عمليات های داده ای فوق پارامتری در يکی از دستورات استفاده شده باشد ، بايد آن پارامتر را به طور کامل در مجموعه مربوط به ان تعريف شود . سپس کنترل در هنگام اجرای برنامه و رسيدن به هر يک از عمليات های مورد نظر ، مجموعه پارامتر يا پارامترهای آن را بررسی کرده و پارامترهای لازم را برای انجام عمليات ايجاد و مقداردهی می کند . برای درک بهتر مطالب اراثه شده به مثال های زير توجه کنيد :

مثال 1 : در مثال زير يک کنترل SqlDataSource برای اتصال به پايگاه داده دانشگاه و جدول Students که مقادير آن را در قسمت بالا نمايش داده ايم ، استفاده کرده ايم . همچنين يک کنترل FormView را برای نمايش اطلاعات هر دانشجو انتخاب شده در کنترل DropDownList را قرار داده ايم .
روش کار به اين صورت است که کنترل FormView به کنترل SqlDataSource متصل شده است و در هر لحظه اطلاعات مربوط به دانشجويي را نشان می دهد که نام خواندگی آن در کنترل DropDoanList انتخاب شده است . کنترل داده SqlDataSource که در واقع تامين کننده داده برای کنترل FormView است در دستور SelectCommand خود دارای يک پارامتر به نام Person است که مقدار آن وابسته به خاصيت SelectedValue کنترل DropDownList است ، يعنی موردی که در هر لحظه در آن کنترل انتخاب شده است . هر بار که مقدار انتخابی کنترل DropDownList را تغيير دهيد ، اين کنترل صفحه را Postback کرده و کنترل داده دوباره اطلاعات را با مفدار پارامتر جديد دريافت شده از منبع داده ای فراخوانی می کند . برای مشاهده نحوه عملی کار اين برنامه مقدار انتخاب شده در کنترل DropDownList را به دلخواه تغيير دهيد :

Example
<asp:SqlDataSource   runat="server"   ID="SqlDataSource1"   ConnectionString="<%$ ConnectionStrings:Univer_Connection %>    "
   SelectCommand="SELECT * FROM [Students] Where Family = @Person" >
    <SelectParameters>
      <asp:ControlParameter  ControlID="DropDownList1"   Name="Person"   PropertyName="SelectedValue"   DefaultValue="Maesomi" />
  </SelectParameters>

</asp:SqlDataSource>


<asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="SqlDataSource1" Width="200px" BorderColor="Blue">
</asp:DetailsView>


<asp:Label ID="Label1" runat="server" Text="Select Family of the Student : " Font-Size="Medium" >

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
   <asp:ListItem   Selected="True"> Mosavi </asp:ListItem>
   <asp:ListItem> Maesomi </asp:ListItem>
   <asp:ListItem> Kashani </asp:ListItem>
   <asp:ListItem> Samadi </asp:ListItem>
</asp:DropDownList>
کد
با عرض پوزش تا آماده سازی Database سايت ، بخش های عملی مربوط به مثال های عملی پايگاه داده ، نمايش داده نمی شوند . اما می توانيد با شبيه سازی مثال ها در کامپيوتر های خود از آنها استفاده کنيد . خروجی


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1