ثبت در GridView با استفاده از StoredProcedure و SqlDataSource در ASP.net
سه شنبه 19 آبان 1394در این مقاله نحوه ثبت GridView با استفاده از StoredProcedure و SqlDataSource در ASP.net را با ارائه یک نمونه از آن توضیح خواهیم داد . یعنی یک گروه از داده ها را در GridView با استفاده از StoredProcedure نمایش دهیم.
در این مقاله نحوه ثبت 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>
نتیجه به صورت زیر می باشد.
- ASP.net
- 2k بازدید
- 6 تشکر