DataSource和DataSet的区别

6

我目前正在从SQL数据库读取数据并以用户友好的方式显示数据为主要任务的项目中工作。所使用的编程语言是C++,在Borland C++ Builder 6环境中进行开发。但我认为标题中提出的问题与编程语言或库无关。当从数据库读取数据时,我经常遇到这些类名称中的术语,但不确切知道它们代表什么。我理解它们作为存储在数据库中的数据接口来使用。但为什么需要使用两个接口类而不是一个?


1
你在谈论哪个平台?这些术语通常用于.NET数据库代码中 - 这是上下文吗? - Oded
2个回答

6

DataSource = 连接数据库的方式 DataSet = 数据库在内存中的结构

更多详细信息(取自于《考试70-516:使用Microsoft .NET Framework 4访问数据》一书):

DataSource 这是您分配数据的主要属性。您可以分配任何实现IList、IListSource、IBindingList或IBindingListView接口的内容。可分配给DataSource属性的一些示例是数组(IList)、列表(IList)、数据表(IListSource)和数据集(IListSource)。

DataSet是一个基于内存的表格化、关系型数据表示,并且是主要的离线数据对象。从概念上讲,将DataSet视为内存中的关系数据库,但它只是缓存数据,并不提供今天关系型数据库所必需的事务特性(原子性、一致性、隔离性、持久性)。DataSet包含DataTable和DataRelation对象的集合。


3
假设你谈论的是.NET生态系统,这两个术语意思非常不同。
一个DataSet是一个类,代表进程内存中的关系数据(也就是数据库之外),通常从数据库中填充。它表示表格和它们之间的关系(例如外键约束)。 DataSource数据绑定中的属性 - 将一个对象分配给DataSource属性上的控件将绑定数据源(如DataSet)到控件上。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接