6.5 DataSet对象细心的读者可能已经发现,在ADO.NET中,数据在内存中的缓存称为DataSet(数据集),而在ADO中称为RecordSet(记录集),这两者的区别决定了ADO.NET和ADO的主流连接机制的区别。
6.5.1 从RecordSet到DataSet
RecordSet称为记录集,记录实际上就是表中的行,所以行的集合就是表,所以RecordSet实际上就是内存中缓存的一张数据表,如图6-9所示。
 |
| 图6-9 内存中的RecordSet对象 |
由于RecordSet只能记录一个数据表的内容,所以当涉及到两个以上的表的操作时就必须生成多个RecordSet对象。
ADO.NET采取断开连接机制时,DataSet对象就将所有有关的数据库的数据提取出来后按照数据库的形式在内存中进行组织,其结构如图6-10所示。
 |
| 图6-10 内存中的DataSet对象 |
正是因为DataSet对象中保存了表及表之间的关系,所以才能支持断开连接模式。
6.5.2 DataSet对象的结构除了多个表之外,在DataSet对象中还保存了表上的约束、表间的关系等,其体系结构如图6-11所示。
 |
| 图6-11 DataSet对象的体系结构 |
【责任编辑:
雪花 TEL:(010)68476606-8007】