ثبت در GridView با استفاده از StoredProcedure و SqlDataSource در ASP.net

سه شنبه 19 آبان 1394

در این مقاله نحوه ثبت GridView با استفاده از StoredProcedure و SqlDataSource در ASP.net را با ارائه یک نمونه از آن توضیح خواهیم داد . یعنی یک گروه از داده ها را در GridView با استفاده از StoredProcedure نمایش دهیم.

ثبت در GridView با استفاده از StoredProcedure  و SqlDataSource در ASP.net

در این مقاله نحوه ثبت GridView با استفاده از StoredProcedure  و SqlDataSource در ASP.net  را با ارائه یک نمونه از آن توضیح خواهیم داد. یعنی یک گروه از داده ها را در GridView  با استفاده از StoredProcedure نمایش دهیم.

برای این مثال از دیتابیس Northwind متعلق به مایکروسافت استفاده میکنیم. میتوانید این دیتابیس را از اینجا دانلود کنید. برای این مثال جستجو هم اضافه خواهیم کرد.

برای این مثال StoredProcedure به صورت زیر می نویسیم که یک پارامتر ContactName@ را می پذیرد و مقدار آن را در رکورد جستجو در جدول Customer  با استفاده از عمل Like  استفاده میکند .


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Customers_SearchCustomers]
      @ContactName NVARCHAR(30)
AS
BEGIN
      SET NOCOUNT ON;
      SELECT CustomerId
            ,ContactName
            ,City
            ,Country
      FROM Customers
      WHERE ContactName LIKE @ContactName + '%'
END

 

  با استفاده از ASP.net یک پروژه ایجاد کرده و در صفحه HTML یک کنترل GridView  ، یک TextBox و یک Button قرار می دهیم.

GridView  بوسیله SqlDataSource با رکوردهایی از جدول  Customers پر شده است.

SqlDataSource با خاصیت های زیر تنظیم می شود:

SelectCommand - نام StoredProcedure که قرار است اجرا شود.

SelectCommandType - نوع مقدار SelectCommand  که به صورت پیش فرض text است.

در SqlDataSource  یک SelectParameter وجود دارد که از نوع ControlParameter است که به عنوان مقدار کنترل ASP.Net استفاده می شود. به طور مثال TextBox باید به عنوان پارامتر پاس داده شود.

ControlParameter با خاصیتهای زیر تنظیم می شود:

Name -  نام پارامتری که به StoredProcedure پاس داده می شود. 

ControlID - به ID کنترلی که مقدارش به عنوان پارامتر پاس داده شود گفته می شود.

DefaultValue -  زمانی که پارمتر پوچ یا خالی باشد ، مقدار پیش فرض blank قرارداده می شود.

ConvertEmptyStringToNull -  اگر روی True تنظیم شده باشد ، یک رشته خالی یا پوچ را به صورت Null پاس می دهد.

کدها برای جستجو به صورت زیر خواهد بود:


Search Customer:
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" />
<hr />
<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
    runat="server" AutoGenerateColumns="false" DataSourceID="GridDataSource" AllowPaging="true">
    <Columns>
        <asp:BoundField DataField="ContactName" HeaderText="Name" ItemStyle-Width="150" />
        <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="150" />
        <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="GridDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConStr %>"
    SelectCommand="Customers_SearchCustomers" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter Name="ContactName" ControlID="txtSearch" PropertyName="Text" DefaultValue = "" ConvertEmptyStringToNull = "false" />
    </SelectParameters>
</asp:SqlDataSource>

نتیجه به صورت زیر می باشد.

 

 

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید