SqlDataSource数据源控件常用参数学习
1. ProviderName: SqlDataSource控件连接底层数据库的提供程序名称
2 .ConnectionString: SqlDataSource控件可使用该参数连接到底层数据库
3. SelectCommand: SqlDataSource控件从底层数据库中选择数据所使用的SQL命令
1
<%
@ Page Language="C#" AutoEventWireup="true" CodeFile="SqlDataSourceDataBinding.aspx.cs" Inherits="SqlDataSourceDataBinding"
%>
2![](/Images/OutliningIndicators/None.gif)
3
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
4![](/Images/OutliningIndicators/None.gif)
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文件如下:
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
1
<
connectionStrings
>
2
<
add
name
="AdventureWorks"
connectionString
="server=IT02\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated security=True"
/>
3
</
connectionStrings
>
AdventureWorks数据库可以在如下链接中下载:(微软官方网站已经不提供这个版本的下载)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
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![](/Images/OutliningIndicators/None.gif)
3
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
4![](/Images/OutliningIndicators/None.gif)
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参数如何使用
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
4. SelectParameters: 它本身是个集合,SqlDataSource控件的SelectCommand属性所包含的SQL命令中有可能会有一些参数,这些参数要从SelectParamenters中获取实际的值。
SelectParameters集合包括一些继承自Parameters类的参数控件,可以将任意多的参数控件添加到该集合中。然后,SqlDataSource控件就能够使用这些控件来创建动态SQL查询。
下面指出在上面代码中用到的参数控件
5. ControlParameter: 它实际是个控件,在代码中应改写成<asp:ControlParameter>,使用特定控件的值。
可以看到这个控件的ControlID指向了DropDownList控件,说明参数要从DropDownList控件中来获取,Name属性的值指代要替换SQL命令中的相应参数,PropertyName属性的值说明DropDownList当前已经选择的值。