学习SqlDataSource数据源控件(一)

SqlDataSource数据源控件常用参数学习
1. ProviderName: SqlDataSource控件连接底层数据库的提供程序名称
2 .ConnectionString: SqlDataSource控件可使用该参数连接到底层数据库
3. SelectCommand: SqlDataSource控件从底层数据库中选择数据所使用的SQL命令

 1 <% @ Page Language="C#" AutoEventWireup="true" CodeFile="SqlDataSourceDataBinding.aspx.cs" Inherits="SqlDataSourceDataBinding"  %>
 2
 3 <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
 4
 5 < html  xmlns ="http://www.w3.org/1999/xhtml"   >
 6 < head  runat ="server" >
 7      < title > 无标题页 </ title >
 8 </ head >
 9 < body >
10      < form  id ="form1"  runat ="server" >
11      < div >
12          < asp:SqlDataSource  ID ="productCategoriesSource"  ProviderName ="System.Data.SqlClient"  runat ="server"
13         ConnectionString ="<%$ ConnectionStrings:AdventureWorks %>"
14         SelectCommand ="SELECT ProductCategoryID, Name FROM Production.ProductCategory" ></ asp:SqlDataSource >
15         
16          < asp:DropDownList  ID ="ddlProductCategoriesSource"  DataSourceID ="productCategoriesSource"  runat ="server"
17         DataTextField ="Name"  DataValueField ="ProductCategoryID"  AutoPostBack ="True" ></ asp:DropDownList >           
18      </ div >
19      </ form >
20 </ body >
21 </ html >
该代码对应的web.config文件如下:
1 < connectionStrings >
2 < add  name ="AdventureWorks"  connectionString ="server=IT02\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated security=True" />
3 </ connectionStrings >
AdventureWorks数据库可以在如下链接中下载:(微软官方网站已经不提供这个版本的下载)
http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004

下面的这个例子涉及到两个SqlDataSource,最后的结果是一个DropDownList中会列出四个大的产品类别,每当选择一个大的产品类别时会在GridView中显示每个大的产品类别中的所有子类别。该例子使用了SelectParameters参数来过滤数据
 1 <% @ Page Language="C#" AutoEventWireup="true" CodeFile="SqlDataSourceDataBindingSelectparametersChapter3.aspx.cs" Inherits="SqlDataSourceDataBindingSelectparametersChapter3"  %>
 2
 3 <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
 4
 5 < html  xmlns ="http://www.w3.org/1999/xhtml"   >
 6 < head  runat ="server" >
 7      < title > Data Binding using SqlDataSource control </ title >
 8 </ head >
 9 < body >
10      < form  id ="form1"  runat ="server" >
11      < div >
12          < asp:SqlDataSource  ID ="productCategoriesSource"  ProviderName ="System.Data.SqlClient"
13         ConnectionString ="<%$ ConnectionStrings:AdventureWorks %>"  runat ="server"
14         SelectCommand ="SELECT * FROM Production.ProductCategory" ></ asp:SqlDataSource >
15          < asp:DropDownList  ID ="ddl1stCategories"  DataSourceID ="productCategoriesSource"  runat ="server"
16         DataTextField ="Name"  DataValueField ="ProductCategoryID"  AutoPostBack ="true" ></ asp:DropDownList >
17         
18          < asp:SqlDataSource  ID ="productSubCategoriesSource"  runat ="server"  ProviderName ="System.Data.SqlClient"
19         ConnectionString ="<%$ ConnectionStrings:AdventureWorks %>"
20         SelectCommand ="SELECT ProductSubcategoryID AS CategoryID, Name FROM Production.ProductSubcategory WHERE ProductCategoryID=@ProductCategoryID" >
21          < SelectParameters >
22              < asp:ControlParameter  ControlID ="ddl1stCategories"  Name ="ProductCategoryID"  PropertyName ="SelectedValue" />
23          </ SelectParameters >
24          </ asp:SqlDataSource >
25          < asp:GridView  ID ="gridCategories"  DataSourceID ="productSubCategoriesSource"  runat ="server" >
26          </ asp:GridView >     
27      </ div >
28      </ form >
29 </ body >
30 </ html >
请注意SelectParameters参数如何使用
4. SelectParameters: 它本身是个集合,SqlDataSource控件的SelectCommand属性所包含的SQL命令中有可能会有一些参数,这些参数要从SelectParamenters中获取实际的值。
SelectParameters集合包括一些继承自Parameters类的参数控件,可以将任意多的参数控件添加到该集合中。然后,SqlDataSource控件就能够使用这些控件来创建动态SQL查询。
下面指出在上面代码中用到的参数控件
5. ControlParameter: 它实际是个控件,在代码中应改写成<asp:ControlParameter>,使用特定控件的值。
可以看到这个控件的ControlID指向了DropDownList控件,说明参数要从DropDownList控件中来获取,Name属性的值指代要替换SQL命令中的相应参数,PropertyName属性的值说明DropDownList当前已经选择的值。

转载于:https://www.cnblogs.com/netdemon/archive/2007/10/20/931727.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值