2012-02-17 11 views
5

Attualmente sto lavorando a un progetto il cui compito principale è quello di leggere i dati memorizzati nel database SQL e visualizzarli in forma user-friendly. Il linguaggio di programmazione utilizzato è C++. Sto lavorando nell'ambiente Borland C++ Builder 6. Ma penso che la domanda posta nel titolo sia indipendente dal linguaggio di programmazione o dalle biblioteche. Durante la lettura dei dati da db sto incontrando abbastanza frequentemente questi termini nei nomi delle classi senza sapere esattamente cosa rappresentano. Capisco che si comportino come interfaccia per i dati memorizzati in db. Ma perché è necessario utilizzare due classi di interfacce invece di una?Differenza tra DataSource e DataSet

+1

Di quale piattaforma stai parlando? Questi termini sono comunemente usati nel codice di database .NET - è il contesto? – Oded

+0

Windows, C++ Builder 6 – truthseeker

risposta

5

DataSource = Come si collega al database DataSet = struttura del database in memoria

Più in dettaglio (dalla esame 70-516: TS: Accesso ai dati con Microsoft .NET Framework 4 libro):

DataSource Questa è la proprietà primaria a cui si assegnano i dati. È possibile assegnare qualsiasi elemento che implementa l'interfaccia IList, IListSource, IBindingList o IBindingListView . Alcuni esempi di elementi che possono essere assegnati alla proprietà DataSource sono gli array (IList), gli elenchi (IList), le tabelle di dati (IListSource) e i set di dati (IListSource).

DataSet è una rappresentazione relazionale basata su memoria, tabulare, di dati ed è l'oggetto dati primario disconnesso. Concettualmente, si pensi a DataSet come un database relazionale in memoria, ma si tratta semplicemente di dati memorizzati nella cache e non fornisce alcuna delle proprietà transazionali (atomicità, coerenza, isolamento, durata) essenziali per i database relazionali odierni. DataSet contiene una raccolta di oggetti DataTable e DataRelation

2

Supponendo che si stia parlando dell'ecosistema .NET, questi due termini significano cose molto diverse.

A DataSet è una classe che rappresenta i dati relazionali nella memoria del processo (ovvero all'esterno del database), normalmente compilati da un database. Rappresenta tabelle e relazioni tra di loro (diciamo vincoli di chiave esterna).

DataSource è un attributo data binding - assegna un oggetto a un controllo sulla proprietà DataSource lega una fonte di dati (ad esempio un DataSet) per un controllo.