ASP.NET数据源控件

Download Report

Transcript ASP.NET数据源控件

第6章
Web应用程序开发技术
信息科技学院
学习要点:


1.掌握ASP.NET数据访问控件的类别
2.掌握ASP.NET数据源控件的使用
6.3 ASP.NET数据源控件的使用





1. SqlDataSource数据源控件
2. AccessDataSource数据源控件
3. XmlDataSource数据源控件
4. SiteMapDataSource数据源控件
5. ObjectDataSource数据源控件
服务器端数据访问控件
数据访问控件根据所实现的功能分为两
大类:数据源控件和数据绑定控件。
数据源控件可实现对不同数据源的数
据访问,数据绑定控件主要用于以 多种方
式显示数据。数据源控件和数据绑定控件
如下表所示。
服务器端数据访问控件
控件名称
SqlDataSource
说明
用于连接SQL数据库,可以用来从任何OLEDB 或者符合
ODBC的数据源中检索数据,能够访问目前主流的数据库系
统。
数 AccessDataSour 用于连接Access数据库,允许以声明方式将Access数据库中
ce
的数据绑定到指定对象中。
据
源 ObjectDataSourc 用于连接自定义对象,允许以声明方式将对象绑定到自定义
控
e
对象公开的数据,以用于多层Web应用结构。
件
XmlDataSource 该控件可装载XML文件作为数据源,并将其绑定到指定的对
象中。
SiteMapDataSou 该控件装载一个预先定义好的站点布局文件作为数据源,
rce
Web服务器控件和其他控件可通过该控件绑定到分层站点地
图数据,以便制作站点的页面导航功能。
服务器端数据访问控件
数
据
绑
定
控
件
Repeater
自由地控制数据的显示。即可以使用非表格的形式来显示数据,从而能够
更灵活地定义其显示的风格。
GridView.NET
中强大功能的数据控件,不需要编写代码就可实现数据的连接、绑定、编
辑、删除、增加等功能。
DataList
DetailsView
通过定义模板或样式来灵活地显示数据。
用于显示表中数据源的单个记录,其中每个数据行表示记录中的一个字段。
该控件通常与 GridView 控件组合使用,构成主-从方案。
FormView
用于显示表中数据源的单个记录。使用 FormView 控件时,由您指定模板
以显示和编辑绑定值。模板中包含用于创建窗体的格式、控件和绑定表达
式。FormView 控件通常与 GridView 控件一起用于主控/详细信息方案。
ReportViewer
用于显示报表、工具栏和文档结构图的视图区域。工具栏是可配置的,它
提供了运行时功能以支持多页报表中的导航、缩放、搜索、打印和导出功
能。提供编程接口,以便可以自定义控件、配置控件,以及通过代码与控
件进行交互,包括更改在运行时 ReportViewer 使用的数据源。
(接上表)
1、SqlDataSource数据源控件

SqlDataSource数据源控件重要属性的描述
序号
属性
说明
1
ConnectionString
2
ProviderName
用于设置不同的数据提供程序,未设置该属性,则默
认为System.Data.SqlClient
3
SelectCommand
执行数据记录选择操作的SQL语句或者存储过程名称
4
UpdateCommand
执行数据记录更新操作的SQL语句或者存储过程名称
5
DeleteCommand
执行数据记录删除操作的SQL语句或者存储过程名称
用于设置连接数据源字符串
6
InsertCommand
执行数据记录添加操作的SQL语句或者存储过程名称
7
DataSourceMode
用于获取或设置SqlDataSource控件获取数据时所使用
的数据返回模式,包含2个可选枚举值:DataReader和
DataSet
2、 AccessDataSource数据源控件


SqlDataSource控件可以访问任何OLEDB或符合ODBC的数据
源,也可以访问Oracle等数据库,而AccessDataSource控件
只能访问Access数据库。
对AccessDataSource控件来说,必须首先配置DataFile属性,
才能对Command属性进行很好的配置该属性用于指定需要访
问的Access数据库文件(.mdb)的路径。但需要注意,必须首先
将数据库文件添加到当前项目中(一般存放在App_Data文件
夹中)才能顺利的完成配置。
2 AccessDataSource数据源控件

AccessDataSource数据源控件的配置方法和
SqlDataSource控件中的做法相同,但数据源我们只能选
择Access,在此不再详细说明配置过程。
AccessDataSource属性
序号
属性
说明
1
DataFile
2
ProviderName
用于设置不同的数据提供程序,未设置该属性,则默认为
System.Data.OleDb
3
SelectCommand
执行数据记录选择操作的SQL语句或者存储过程名称
4
UpdateCommand
执行数据记录更新操作的SQL语句或者存储过程名称
5
DeleteComma
nd
执行数据记录删除操作的SQL语句或者存储过程名称
6
InsertComman
d
执行数据记录添加操作的SQL语句或者存储过程名称
7
DataSourceMo
de
用于获取或设置SqlDataSource控件获取数据时所使用的
数据返回模式,包含2个可选枚举值:DataReader和
DataSet
该属性用于指定Access文件的虚拟路径或则UNC路径
3 XmlDataSource数据源控件

XmlDataSource控件是针对层次化数据源中的xml而
设计的。层次化数据源还包扩文件夹列表、网站地图
等。XmlDataSource数据源为数据绑定控件提供XML
类 型 的 数 据 源 。 数 据 绑 定 控 件 可 以 使 用
XmlDataSource数据源控件显示分层数据和表格数据
XmlDataSource属性
序号
属性
1
DataFile
2
TransformFilexml
3
XPath
说明
该属性用于获取或设置控件所绑定的xml文件。
转换文件的路径,即xsl文件。
该属性用于获取或设置应用于XML数据中的
Xpath查询值,默认值为空。Xpath是一种查询语
言,用于检索XML文档中包含的信息
4 SiteMapDataSource数据源控件
SiteMapDataSource数据源控件是提供分层的数据源,
Asp.Net 2.0中,SiteMapDataSource是专门用于连接
和访问站点地图文件(*.sitmap)的数据源控件,并且
可以将访问到的数据直接应用到网站导航控件中。
4 SiteMapDataSource数据源控件
属性
描述
Provider
设置与数据源控件关联的 SiteMapProvider 提供程序,如果未
显示设置提供程序,则为默认的站点地图提供程序
SiteMap Provider
指定数据源绑定到的站点地图提供程序的名称,默认为默认
站点地图提供程序
ShowStartingNode
bool 值,用于配置 SiteMapDataSource 控件是否显示节点树
中的根节点
StartFromCurrentNode
bool 值,用于设置是否从当前页面所在的节点位置开始读取
该节点及其子节点的数据
StartingNodeOffset
整数,用于设置起始节点的偏移量。默认值为 0。如果设置
为-1,则从父级节点开始读取数据;如果为 1,则从子节点
开始读取数据
StartingNodeUrl
该属性设置 SiteMapDataSource 控件应该从节点树的哪个
节点开始
SiteMapDataSource数据源控件


注:SiteMapDataSource控件不具有多数数据源控件所支持的数
据缓存、排序、过滤、分页、添加、删除和修改等能力。
在使用数据源控件之前,首先要制作站点地图文件
(web.sitmap),然后拖拽SiteMapDataSource控件和显示结
构的控件(如TreeView 或Menu控件),将TreeView 或Menu控
件的“选择数据源”设置成先前定义的SiteMapDataSource控件
名称即可。
5 ObjectDataSource数据源控件

“三层构架”是目前比较常用的架构,就是将程序细分
为数据访问层、业务逻辑层和表示层。三层构架的好
处很多,ObjectDataSource控件与其它数据源控件不
同的是,该控件能够帮助开发人员在表示层与数据访
问层、表示层与业务逻辑层之间架起一座桥梁,从而
将来自数据访问层或者业务逻辑层的数据对象,与表
示层中的数据绑定控件绑定,实现数据的显示和编辑
等。
5 ObjectDataSource数据源控件

ObjectDataSource数据源控件能将自定义业务对象绑定到数据
控件上,也可以实现数据层到表现层的分离,适合应用在多层开
发的框架转换中。
表示层
ASP.NET
ObjectDataSource
业务逻辑层
数据访问层
数据库
5 ObjectDataSource数据源控件

ObjectDataSource控件不存在ConnectionString、
ProviderName、SelectCommand等属性,替而代之,
出现了TypeName、SelectMethod等属性。这些新的
属性将用来指示ObjectDataSource控件实例使用哪个
业务类以及哪种方法来检索或编辑数据。而这些业务
类和方法来自于数据访问层或业务逻辑层。先看
ObjectDataSource控件的声明代码:
5 ObjectDataSource数据源控件


<asp:ObjectDataSource ID="ObjectDataSource1"
runat="server" TypeName="ComponentClassName"
SelectMethod="GetRecords"></asp:ObjectDataSource>
代码中,TypeName属性用于设置相关业务类的名称;
SelectMethod属性用于设置该业务类中实现检索数据源数据的
方法名称。该业务类的方法必须返回一个可枚举的列表对象,如:
集合、数组、DataSet、DataReader等,或者返回包含数据的业
务实体对象。
思考练习题: