读书笔记系列之------DataSet对象

来源:互联网 发布:mac 工作日程安排软件 编辑:程序博客网 时间:2024/05/21 06:23
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

一、特点介绍

1、处理脱机数据,在多层应用程序中很有用。

2、可以在任何时候查看DataSet中任意行的内容,允许修改查询结果的方法。

3、处理分级数据

4、缓存更改

5、的完整性:DataSet对象和XML文档几乎是可互换的。

二、使用介绍

1、创建DataSet对象DataSetds=newDataSet("DataSetName");

2、查看调用SqlDataAdapter.Fill创建的结构

   da.Fill(ds,"Orders");

   DataTabletbl=ds.Table[0];

   foreach(DataColumncolintbl.Columns)

       Console.WriteLine(col.ColumnName);

3、查看SqlDataAdapter返回的数据

①、DataRow对象

   DataTabletbl=ds.Table[0];

   DataRowrow=tbl.Row[0];

   Console.WriteLine(ros["OrderID"]);

②、检查存储在DataRow中的数据

   DataTabletbl=row.Table;

   foreach(DataColumncolintbl.Columns)

       Console.WriteLine(row[col]);

③、检查DatTable中的DataRow对象

           foreach(DataRowrowintbl.Rows)

               DisplayRow(row);

4、校验DataSet中的数据

①、校验DataColumn的属性:ReadOnly,AllowDBNull,MaxLength,Unique

②、DataTable对象的Constrains集合:UiqueConstraints,Primarykey,ForeignkeyConstraints

通常不必刻意去创建ForeignkeyConstraints,因为当在DataSet的两个DataTable对象之间创建关系时会创建一个。

③、用SqlDataAdapter.Fill模式来检索模式信息

5、编写代码创建DataTable对象

①、创建DataTable对象:DataTabletbl=newDataTable("TableName");

②、将DataTable添加到DataSet对象的Table集合

   DataSetds=newDataSet();

   DataTabletbl=newDataTable("Customers");

   ds.Tables.Add(tbl);

 

   DataSetds=newDataSet();

   DataTabletbl=ds.Tables.Add("Customers");

 DataTable对象只能存在于至多一个DataSet对象中。如果希望将DataTable添加到多个DataSet中,就必须使用Copy方法或Clone方法。Copy方法创建一个与原DataTable结构相同并且包含相同行的新DataTable;Clone方法创建一个与原DataTable结构相同,但没有包含任何行的新DataTable。

③、为DataTable添加列

   DataTabletbl=ds.Tables.Add("Orders");

   DataColumncol=tbl.Columns.Add("OrderID",typeof(int));

   col.AllowDBNull=false;

   col.MaxLength=5;

   col.Unique=true;

   tbl.PrimaryKey=newDataColumn[]{tbl.Columns["CustomersID"]};

   当设置主键时,AllowDBNull自动设置为False;

④、处理自动增量列

   DataSetds=newDataSet();

   DataTabletbl=ds.Tables.Add("Orders");

   DataColumncol=tbl.Columns.Add("OrderID",typeof(int));

   col.AutoIncrement=true;

   col.AutoIncrementSeed=-1;

   col.AutoIncrementStep=-1;

   col.ReadOnly=true;

⑤、添加基于表达式的列

   tbl.Columns.Add("ItemTotal",typeof(Decimal),"Quantity*UnitPrice");共4页  第1页   
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击