快速业务通道

ASP.NET 2.0数据教程之四十八:在SqlDataSource中使用参数化查询

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
extBox以从用户那里获取这个起点的值,并将其ID设置为MaxPrice。再添加一个 Button服务器端控件,将其Text属性设置为“Display Matching Products”。

然后,拖一个GridView到页面上,并通过其智能标签 选择创建一个新的名为ProductsFilteredByPriceDataSource的SqlDataSource。 在“配置数据源”向导中,选择“指定一个自定义SQL语句或存 储过程”(见图四),并输入如下代码:

1SELECT ProductName, UnitPrice
2FROM Products
3WHERE UnitPrice <= @MaximumPrice

输入完了之后(可以手工添加,也可以通过 “查询生成器”),点击“下一步”。

ASP.NET 2.0数据教程之四十八:在SqlDataSource中使用参数化查询

图四:只返回小于等于某个参数值的那些产品

由于查询含有参 数,向导的下一页要求我们指定这些参数的来源。在“参数来源”下 拉列表中选择“控件”,并在“ControlID” 下拉列表中 选择“MaxPrice”(就是那个TextBox的ID)。你还可以输入一个默认 值(可选的),在用户没有输入任何东西到MaxPrice TextBox中时就用得上了。 暂时先不要输入这个默认值。

ASP.NET 2.0数据教程之四十八:在SqlDataSource中使用参数化查询

图五:名为MaxPrice的TextBox的Text属性被用作参数的来源

点 击“下一步”,再点击“完成”,以结束“配置数据 源”向导。GridView、TextBox、Button以及SqlDataSource的声明标记代码 如下所示:

1Maximum price:
2contentlt;asp:TextBox ID="MaxPrice" runat="server" Columns="5" />
3
4<asp:Button ID="DisplayProductsLessThanButton" runat="server"
5  Text="Display Matching Products" />
6
7<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
8   DataSourceID="ProductsFilteredByPriceDataSource" EnableViewState="False">
9  <Columns>
10     <asp:BoundField DataField="ProductName" HeaderText="Product"
11       SortExpression="ProductName" />
12     <asp:BoundField DataField="UnitPrice" HeaderText="Price"
13       HtmlEncode="False" DataFormatString="{0:c}"
14       SortExpression="UnitPrice" />
15   </Columns>
16</asp:GridView>
17
18<asp:SqlDataSource ID="ProductsFilteredByPriceDataSource" runat="server"
19  ConnectionString="<%$ ConnectionStrings:NORTHWNDConnectionString %>"
20   SelectCommand=
21    "SELECT ProductName, UnitPrice
22
23    FROM Products
24WHERE UnitPrice <= @MaximumPrice">
25  <SelectParameters>
26     <asp:ControlParameter ControlID="MaxPrice" Name="MaximumPrice"
27       PropertyName="Text" />
28   </SelectParameters>
29</asp:SqlDataSource>

注意在SqlDataSource的 <SelectParameters>节中的参数是一个ControlParameter,它拥有一些附 加的属性,如ControlID和PropertyName。在SqlDataSource的Select()方法被调 用时,ControlParameter从指定控件的指定属性中获取值,并将其赋给 SelectCommand中相应的参数。在本例中,MaxPrice的Text属性将被用作 @MaxPrice参数值。

花一点时间在浏览器中看看这个页面。当第一次访问 这个页面,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号