论文部分内容阅读
【摘 要】数据集(DataSet)对象是ADO.NET中最核心的成员之一,是开发基于.Net平台数据库应用程序最常接触的类。本文结合一个项目的开发,阐述了DataSet对象的特性、结构模型及其应用。
【关键词】ASP.NET;DataSet对象;数据绑定
中图分类号:TP18 文献标识码:A 文章编号:1009-8283(2009)05-0110-01
0 引 言
ADO.NET(ActiveX Data Object.Net)是微软公司推出的一门技术的总称。目的是在.Net FrameWork 平台中访问数据库。而DataSet则是ADO.NET中最核心的成员之一,也是开发基于.Net平台数据库访问程序最常接触的,是进行数据库处理的核心对象。DataSet在ADO.NET实现从数据库访问数据中起到关键作用,DataSet是一个位于内存中的数据库,该数据库中的内容由程序设计者直接用程序建立,也可以从已经存在的数据库中传入,以后一方式居多。从数据库完成数据抽取后,DataSet就是数据的存放地,是在计算机内存中映射成的缓存,所以有时说DataSet可以看成是一个数据容器。同时它在客户端实现读取、更新数据库等过程中起到了中间部件的作用(DataReader只能检索数据库中的数据)。各种.Net平台开发语言开发数据库应用程序,一般并不直接对数据库操作,而是先完成数据连接和通过数据适配器填充DataSet对象,然后客户端再通过读取DataSet来获得需要的数据,更新数据库中数据时,也是先更新DataSet,然后通过DataSet来更新数据库中对应的数据。可见掌握ADO.NET技术,先要掌握DataSet对象。
1 DataSet对象的主要特性
1.1 独立性。
DataSet独立于各种数据源
1.2 离线(断开)和连接
DataSet既可以离线方式,也可以实时连接来操作数据库中的数据,通过对Adapter进行设置和编程,可以十分方便地将DataSet中的记录回写至数据源中。
1.3 DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图
DataSet可将数据和架构作为XML文档进行读写。数据和架构可通过HTTP 传输,并在支持 XML 的任何平台上被任何应用程序使用
2 DataSet对象的结构模型
DataSet对象往往是一个或多个DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。DataSet对象的结构模型如图01所示:

DataSet是把数据库中的数据映射到内存缓存中的所构成的数据容器,对于任何数据源,它都提供一致的关系编程模型。数据源、DataAdapter与DataSet三者的关系如图02所示:

掌握DataSet使用方法必须掌握ADO.NET另外一个核心常用成员——数据提供者(Data Provider)。数据提供者(也称为托管提供者Managed Provider)是一个类集合,在这些数据提供者中都有一个DataAdapter类。通过DataAdapter能够实现从数据库中检索数据并填充 DataSet 中的表。DataAdapter填充DataSet的过程分为二步:首先通过DataAdapter的SelectCommand属性从数据库中检索出需要的数据。SelectCommand其实是一个Command对象。然后再通过DataAdapter的Fill方法把检索来的数据填充 DataSet。代码清单01就是以Microsoft SQL Server 中的Northwind数据库为对象,使用语言是C#,使用The SQL Server.
4 DataSet和数据绑定(DataBinding)
数据绑定是绑定技术中使用最频繁,也是最为重要的技术,也可以说是各种.Net开发语言开发数据库应用程序最需要掌握的基本的知识之一。这些都与DataSet有直接关系。适用于简单型数据绑定组件一般有Lable、TextBox等,适用于复杂型数据绑定的组件一般有DataGrid、ListBox、ComboBox等。以下结合TextBox组件和GridView组件分别探讨DataSet在实现简单型数据绑定和复杂型数据绑定作用和具体实现方法。
4.1简单型数据绑定
一般使用這些组件中的DataBindings属性的Add方法把DataSet中某一个DataTable中的某一行和组件的某个属性绑定起来,从而达到显示数据的效果。TextBox组件的数据绑定具体实现方法是在代码清单01后,再添加代码清单02中的代码,代码清单02中的代码是把DataSet中的Customers 数据表中的"CustomerID"的数据和TextBox的Text属性绑定起来,这样DbTextBox就产生了。其他适用于简单型数据绑定组件数据绑定的方法类似与此操作:代码清单02:

4.2复杂型数据绑定
复杂型数据绑定一般是设定组件的DataSource属性和DataMember属性来完成数据绑定的。DataSource属性值一般设定为要绑定的DataSet,DataMember属性值一般设定为要绑定的数据表或数据表中的某一列。GridView组件的数据绑定的一般实现方法是在代码清单01后,再添加代码清单03中的代码,代码清单03的功能是把DataSet中的Customers 数据表和GridView绑定起来。其他适用于复杂型数据绑定的组件实现数据绑定的方法类似此操作:代码清单03:

参考文献:
[1]陈会安.ASP.NET网页制作彻底研究[M] 清华大学出版社,2007.
[2]应毅.基于ADO.NET技术的Web访问数据库研究与实现[J] 计算机与现代化,2005.
[3] (美)斯赛帕|贾洪峰译ADO.NET2.0技术内幕/微软技术丛书[M] 清华大学出版社,2007.
【关键词】ASP.NET;DataSet对象;数据绑定
中图分类号:TP18 文献标识码:A 文章编号:1009-8283(2009)05-0110-01
0 引 言
ADO.NET(ActiveX Data Object.Net)是微软公司推出的一门技术的总称。目的是在.Net FrameWork 平台中访问数据库。而DataSet则是ADO.NET中最核心的成员之一,也是开发基于.Net平台数据库访问程序最常接触的,是进行数据库处理的核心对象。DataSet在ADO.NET实现从数据库访问数据中起到关键作用,DataSet是一个位于内存中的数据库,该数据库中的内容由程序设计者直接用程序建立,也可以从已经存在的数据库中传入,以后一方式居多。从数据库完成数据抽取后,DataSet就是数据的存放地,是在计算机内存中映射成的缓存,所以有时说DataSet可以看成是一个数据容器。同时它在客户端实现读取、更新数据库等过程中起到了中间部件的作用(DataReader只能检索数据库中的数据)。各种.Net平台开发语言开发数据库应用程序,一般并不直接对数据库操作,而是先完成数据连接和通过数据适配器填充DataSet对象,然后客户端再通过读取DataSet来获得需要的数据,更新数据库中数据时,也是先更新DataSet,然后通过DataSet来更新数据库中对应的数据。可见掌握ADO.NET技术,先要掌握DataSet对象。
1 DataSet对象的主要特性
1.1 独立性。
DataSet独立于各种数据源
1.2 离线(断开)和连接
DataSet既可以离线方式,也可以实时连接来操作数据库中的数据,通过对Adapter进行设置和编程,可以十分方便地将DataSet中的记录回写至数据源中。
1.3 DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图
DataSet可将数据和架构作为XML文档进行读写。数据和架构可通过HTTP 传输,并在支持 XML 的任何平台上被任何应用程序使用
2 DataSet对象的结构模型
DataSet对象往往是一个或多个DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。DataSet对象的结构模型如图01所示:

DataSet是把数据库中的数据映射到内存缓存中的所构成的数据容器,对于任何数据源,它都提供一致的关系编程模型。数据源、DataAdapter与DataSet三者的关系如图02所示:

掌握DataSet使用方法必须掌握ADO.NET另外一个核心常用成员——数据提供者(Data Provider)。数据提供者(也称为托管提供者Managed Provider)是一个类集合,在这些数据提供者中都有一个DataAdapter类。通过DataAdapter能够实现从数据库中检索数据并填充 DataSet 中的表。DataAdapter填充DataSet的过程分为二步:首先通过DataAdapter的SelectCommand属性从数据库中检索出需要的数据。SelectCommand其实是一个Command对象。然后再通过DataAdapter的Fill方法把检索来的数据填充 DataSet。代码清单01就是以Microsoft SQL Server 中的Northwind数据库为对象,使用语言是C#,使用The SQL Server.
4 DataSet和数据绑定(DataBinding)
数据绑定是绑定技术中使用最频繁,也是最为重要的技术,也可以说是各种.Net开发语言开发数据库应用程序最需要掌握的基本的知识之一。这些都与DataSet有直接关系。适用于简单型数据绑定组件一般有Lable、TextBox等,适用于复杂型数据绑定的组件一般有DataGrid、ListBox、ComboBox等。以下结合TextBox组件和GridView组件分别探讨DataSet在实现简单型数据绑定和复杂型数据绑定作用和具体实现方法。
4.1简单型数据绑定
一般使用這些组件中的DataBindings属性的Add方法把DataSet中某一个DataTable中的某一行和组件的某个属性绑定起来,从而达到显示数据的效果。TextBox组件的数据绑定具体实现方法是在代码清单01后,再添加代码清单02中的代码,代码清单02中的代码是把DataSet中的Customers 数据表中的"CustomerID"的数据和TextBox的Text属性绑定起来,这样DbTextBox就产生了。其他适用于简单型数据绑定组件数据绑定的方法类似与此操作:代码清单02:

4.2复杂型数据绑定
复杂型数据绑定一般是设定组件的DataSource属性和DataMember属性来完成数据绑定的。DataSource属性值一般设定为要绑定的DataSet,DataMember属性值一般设定为要绑定的数据表或数据表中的某一列。GridView组件的数据绑定的一般实现方法是在代码清单01后,再添加代码清单03中的代码,代码清单03的功能是把DataSet中的Customers 数据表和GridView绑定起来。其他适用于复杂型数据绑定的组件实现数据绑定的方法类似此操作:代码清单03:

参考文献:
[1]陈会安.ASP.NET网页制作彻底研究[M] 清华大学出版社,2007.
[2]应毅.基于ADO.NET技术的Web访问数据库研究与实现[J] 计算机与现代化,2005.
[3] (美)斯赛帕|贾洪峰译ADO.NET2.0技术内幕/微软技术丛书[M] 清华大学出版社,2007.