Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 1:35:27
ADO.NET链接数据库DataSet对象应用实例

ADO.NET链接数据库DataSet对象应用实例

DataSet对象

DataSet对象是支持ADO.NET的断开式、分布式数据方案的核心对象。DataSet对象是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet对象表示包括相关表、约束和表间关系在内的整个数据集。如图1所示。



图1 DataSet对象模型

1.DataTableCollection

一个ADO.NET DataSet对象包含DataTable对象所表示的零个或更多个表的集合。DataTable Collection类包含DataSet对象中的所有DataTable对象。

DataTable对象在System.Data命名空间中定义,表示内存驻留数据的单个表。其中包含由 DataColumnCollection类表示的列集合以及由ConstraintCollection类表示的约束集合,这两个集合共同定义表的架构。DataTable对象还包含DataRowCollection类所表示的行的集合,而DataRowCollection类则包含表中的数据。除了其当前状态之前,DataRow对象还会保留其当前版本和初始版本,以标识对行中存储值的更改。

2.DataRelationCollection

DataSet对象在其DataRelationCollection类中包含关系。关系由DataRelation对象来表示,它使一个DataTable对象中的行与另一个DataTable对象中的行相关联。关系类似于可能存在于关系数据库中的主键列和外键列之间的联接路径。DataRelation对象标识DataSet对象中两个表的匹配列。

关系使用户能够在DataSet对象中从一个表导航至另一个表。DataRelation对象的基本元素为关系的名称、相关表的名称以及每个表中的相关列。关系可以通过一个表的多个列来生成,方法是将一组 DataColumn对象指定为键列。将关系添加到DataRelationCollection类中之后,可以选择添加 UniqueKeyConstraint对象和ForeignKeyConstraint对象,在对相关列的值进行更改时,强制执行完整性约束。

3.ExtendedProperties

DataSet对象、DataTable对象和DataColumn对象全部具有ExtendedProperties属性。Extended Properties属性是一个PropertyCollection对象,可以在其中加入自定义信息,例如,用于生成结果集的SELECT语句或生成数据的时间。ExtendedProperties集合与DataSet对象的架构信息一起持久化。

4.从多个DataAdapter填充DataSet

可以将任意数量的DataAdapter对象与DataSet对象一起使用。每个DataAdapter对象都可用于填充一个或多个DataTable对象并将更新解析返回给相关数据源。DataRelation对象和Constraint对象可以在本地添加到DataSet对象,这样,用户就可以使来自多个不同数据源的数据(如Sql Server与Access)相关联。

DataSet对象常用属性及说明如表1所示。



表1 DataSet对象常用属性及说明

下面介绍几个主要的属性。

(1)DataSetName属性。获取或设置当前DataSet对象的名称。

语法:

public stringDataSetName { get; set; }

属性值:DataSet对象的名称。

示例

获取DataSet对象的名称,程序代码如下:

DataSet dataSet= newDataSet("HyWork");

MessageBox.Show (dataSet.DataSetName);

(2)Relations属性。获取用于将表连接起来并允许从父表浏览到子表的关系的集合。

语法:

public DataRelationCollection Relations { get; }

属性值:包含一个DataRelation对象集合的DataRelationCollection对象。如果DataRelation对象不存在,将返回空集合。

示例

通过DataSet对象的Relations属性将两个表关联起来实例化新的DataRelation对象,程序代码如下:

DataSet DS = newDataSet();

DataRelation relation = DS.Relations.Add("t_People",DS.Tables["t_People"].Columns["tb_PID"],

DS.Tables["t_Class"].Columns["tb_PID"]);

(3)Tables属性。获取包含在DataSet对象中的表的集合。

语法:

public DataTableCollection Tables { get; }

属性值:此DataSet对象包含的DataTableCollection对象。如果DataTable对象不存在,将返回空集合。

示例

通过DataSet对象的Tables属性数据集中所有数据表名称显示给用户,程序代码如下:

private void ShowTableName(DataSet dataSet)

{

foreach (DataTable table in dataSet.Tables)

{

string str = table.TableName;

MessageBox.Show(str);

}


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759