2012-02-17 36 views
5

我目前正在開發一個項目,其主要任務是讀取存儲在SQL數據庫中的數據並以用戶友好的形式顯示它們。使用的編程語言是C++。我在Borland C++ Builder 6環境中工作。但我認爲標題中提出的問題與編程語言或圖書館無關。當從數據庫讀取數據時,我經常在類名稱中遇到這些術語,而不知道它們代表的是什麼。我知道它們的行爲與存儲在數據庫中的數據的接口相同。但爲什麼需要使用兩個接口類而不是一個?DataSource和DataSet之間的區別

+1

你在說什麼平臺?這些術語通常用於.NET數據庫代碼 - 是上下文嗎? – Oded 2012-02-17 09:51:34

+0

Windows,C++ Builder 6 – truthseeker 2012-02-17 11:25:21

回答

5

DataSource =您如何連接到數據庫 DataSet =內存數據庫的結構

更多詳細(從考試70-516:TS:與Microsoft .NET Framework 4的書訪問數據):

DataSource這是您分配數據的主要屬性。你可以給 分配任何實現IList,IListSource,IBindingList或IBindingListView接口的東西。可以分配給DataSource屬性的項目的一些示例是 數組(IList),列表(IList),數據表(IListSource)和數據集(IListSource)。

DataSet是數據的基於內存的表格式關係表示形式,並且是主要斷開連接的數據對象。從概念上講,將DataSet視爲內存中的關係數據庫,但它僅僅是緩存的數據,並沒有提供對於當今關係數據庫至關重要的任何事務屬性(原子性,一致性,隔離性和持久性)。 DataSet包含一組DataTable和DataRelation對象

2

假設你在談論.NET生態系統,這兩個術語意味着完全不同的東西。

A DataSet是表示進程內存(即數據庫外部)中的關係數據的類 - 通常從數據庫填充。它表示它們之間的表格和關係(比如外鍵約束)。

DataSourcedata binding屬性 - 分配一個目的是在DataSource屬性的控制結合數據的源(如DataSet)到控制。