MIS2000 Lab. -- ASP.NET学习&分享 / ASP.NET案例精编(清华大学出版社)
您好,我来自台湾。很高兴与各位分享一些成果。希望对您有帮助。出版书籍是「ASP.NET案例精编 / 清华大学出版社」。

初探ADO.NET #2,DataReader 与 DataSet(资料集)

http://www.dotblogs.com.tw/mis2000lab/archive/2008/08/15/4919.aspx

 

 

以下是我的新书内容,仅供参考:

ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063 

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

 

ASP.NET案例精编--适用于VS2005/2008

   

============================================================

不过,自从 .NET 2.0版开始,多了一个数据来源控件(DataSource),例如:连结SQL Server就使用SqlDataSource,连结Access就可以用AccessDataSource等等。

 
图   Visual Studio提供的数据来源控件与其它数据细节控件。

这种数据来源控件只是一个「精灵」罢了,把上一篇文章提到的「四个步骤」包装起来,透过窗口的画面来完成,而不需要我们自己动手撰写程序代码,本书下一节就会介绍它。

数据来源控件(DataSource)的背后,还是ADO.NET。因此,要成为高手,ADO.NET一定要彻底熟悉。

 

6-1-4  DataReaderDataSet(资料集)


Connection、Command、DataReader和 DataAdapter对象表示 .NET Framework 数据提供者(DataProvider)模型的核心项目。下列表格说明这些对象。 

 

物件

说明

Connection

建立连接(联机)至特定数据来源(例如:数据库)。

Command

对数据来源执行命令,尤其是SQL指令。

DataReader

从数据来源读取「顺向」且「只读」的数据流

DataAdapter

(DataSet资料集)

将资料来源整个填入(.Fill()方法)到 DataSet

或是把 DataSet更新(.Update()方法)之后的数据,回传至数据来源。

 

ADO.NET有两大重点,分别是 DataReader与DataSet(数据集)这两种。跟旧版的ASP不同,当年的ADO都是使用 RecordSet(数据录集)。

关于ADO.NET的DataReader与DataSet,我们简单说明如下:

  •  DataReader---- 很类似以前ADO的RecordSet,但数据指针只能循序向前(Forward)无法后退,所以无法撰写「分页」的功能。优点是效率高、速度快,很适合用来作为单纯的工作,例如:展示大量资料。
  •  
  •  DataSet---- 一种离线运作的数据库快取,存放在主机的内存里面。DataSet是透过DataAdapter(数据配接器)来执行SQL指令,功能非常强大,几乎就 是数据库的翻版(如:DataView、DataTable、Relationship等等都作得到)。可以把数据库复制到主机的内存里面,如此一来面 对关系复杂的多重数据表,就能快速地处理。缺点是:使用DataSet比较消耗资源。

如果要修改数据的话,也是先修改DataSet(主机内存)里面的数据,然后再回写到数据库里面。
在ADO.NET里头,传统的分页功能都是用DataSet来完成。数据来源控件默认值都采用DataSet(如SqlDataSource预设的DataSourceMode = DataSet)。

 


把上述的观念,我们用表格来比较如下:

 

(资料来源,以MS SQL Server为例)

ADO.NET两大对象的比较

DataSet

DataReader

连接数据库(Connection

(不需要,因为SqlDataAdapter会自动开启连结,使用后自动关闭)

 

请看:[ADO.NET]DataSetDataAdapter,为何不需要自己写程序去开启数据库联机与关闭之?

SqlConnection.Open()

执行SQL指令

1. Select

2. Delete/Update/Insert

SqlDataAdapter

1.      .Fill()方法

2.      .Update()方法

SqlCommand

1.  .ExecuteReader()方法

2.  .ExecuteNonQuery()方法

数据指针

移动

DataSet类似数据库行为的数据快取。这些数据将存放在内存里面,所以可以自由灵活地操作内部资料。

读取数据时,只能「只读、顺向(Forward)」的动作。

如何处理数据库

资料表?

可以处理复杂的数据库关联与多个DataTable、DataView。

透过使用者自订的SQL指令来存取。

适合处理单一的数据表。

消耗资源

较大

小,而且快速

分页功能

Paging

资料整理:本书作者,MIS2000 Lab.

 

.NET技术里面,与我们最息息相关的核心技术就是ADO.NET。因此,本书后续有两大章节专门介绍ADO.NET。

 

初学者能稍微了解这些专有名词也就够了,后续的章节我们可以透过实作,来了解这些理论。从实作中学习,我们直接动手会让印象更深刻。

 

以 下是广告文 ----------------------------------------------------------------------------------------------------------------------------------

我的书上市了,烦请赏光、支持一下。   感恩~

ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063 

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

 

ASP.NET案例精编--适用于VS2005/2008

 

 

ADO.NET 共有下面文章:

 

posted on 2010-10-20 08:58  MIS2000 Lab.  阅读(376)  评论(0编辑  收藏  举报


ASP.NET案例精编——适用于VS 2005/2008(配光盘)
 

当当网购买 http://product.dangdang.com/product.aspx?product_id=20583373&ref=search-1-pub