一、特点介绍
1、处理脱机数据,在多层应用程序中很有用。
2、可以在任何时候查看DataSet中任意行的内容,允许修改查询结果的方法。
3、处理分级数据
4、缓存更改
5、XML的完整性:DataSet对象和XML文档几乎是可互换的。
二、使用介绍
1、创建DataSet对象:DataSet ds = new DataSet("DataSetName");
2、查看调用SqlDataAdapter.Fill创建的结构
da.Fill(ds,"Orders");
DataTable tbl = ds.Table[0];
foreach(DataColumn col in tbl.Columns)
Console.WriteLine(col.ColumnName);
3、查看SqlDataAdapter返回的数据
①、DataRow对象
DataTable tbl = ds.Table[0];
DataRow row = tbl.Row[0];
Console.WriteLine(ros["OrderID"]);
②、检查存储在DataRow中的数据
DataTable tbl = row.Table;
foreach(DataColumn col in tbl.Columns)
Console.WriteLine(row[col]);
③、检查DatTable中的DataRow对象
foreach(DataRow row in tbl.Rows)
DisplayRow(row);
4、校验DataSet中的数据
①、校验DataColumn的属性:ReadOnly,AllowDBNull,MaxLength,Unique
②、DataTable对象的Constrains集合:UiqueConstraints,Primarykey,ForeignkeyConstraints
通常不必刻意去创建ForeignkeyConstraints,因为当在DataSet的两个DataTable对象之间创建关系时会创建一个。
③、用SqlDataAdapter.Fill模式来检索模式信息
5、编写代码创建DataTable对象
①、创建DataTable对象:DataTable tbl = new DataTable("TableName");
②、将DataTable添加到DataSet对象的Table集合
DataSet ds = new DataSet();
DataTable tbl = new DataTable("Customers");
ds.Tables.Add(tbl);
DataSet ds = new DataSet();
DataTable tbl = ds.Tables.Add("Customers");
DataTable 对象只能存在于至多一个DataSet对象中。如果希望将DataTable添加到多个DataSet中,就必须使用Copy方法或Clone方法。 Copy方法创建一个与原DataTable结构相同并且包含相同行的新DataTable;Clone方法创建一个与原DataTable结构相同,但没有包含任何行的新DataTable。
③、为DataTable添加列
DataTable tbl = ds.Tables.Add("Orders");
DataColumn col =tbl.Columns.Add("OrderID",typeof(int));
col.AllowDBNull = false;
col.MaxLength = 5;
col.Unique = true;
tbl.PrimaryKey = new DataColumn[]{tbl.Columns["CustomersID"]};
当设置主键时,AllowDBNull自动设置为False;
④、处理自动增量列
DataSet ds = new DataSet();
DataTable tbl = ds.Tables.Add("Orders");
DataColumn col = tbl.Columns.Add("OrderID",typeof(int));
col.AutoIncrement = true;
col.AutoIncrementSeed = -1;
|