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
risposta
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
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.
- 1. Differenza tra un'origine dati "jta-datasource" e "risorsa-locale"?
- 2. Qual è la differenza tra dataset e database?
- 3. Qual è la differenza tra Spark DataSet e RDD
- 4. dataset vs .data - Differenza?
- 5. Differenza tra Linq a Sql, Linq, Dataset tipizzati, ADO.NET
- 6. Differenza tra Enum.GetValues e Enum.GetNames
- 7. ASP.NET - Qual è la differenza di DataSourceID e DataSource?
- 8. La differenza tra $ * e $ @
- 9. Differenza tra $ # e $ {# @}
- 10. Differenza tra. e #
- 11. MySQL: Differenza tra ",", "e"
- 12. Differenza tra "o" e "||"
- 13. Differenza tra unwrapObservable e()
- 14. Differenza tra oggetto e *?
- 15. Differenza tra "**/* /" e "** /"?
- 16. Differenza tra jquery e $
- 17. CMake: differenza tra $ {} e "$ {}"
- 18. Differenza tra ". +" E ". +?"
- 19. VBA: Differenza tra & e +
- 20. Differenza tra numpy.logical_and e &
- 21. Differenza tra | = e^= css
- 22. Differenza tra `% in%` e `` ==
- 23. Set UITableView Delegato e DataSource
- 24. DataGridViewComboBoxColumn DataSource?
- 25. Qual è la differenza tra oracle.jdbc.xa.client.OracleXADataSource e oracle.jdbc.pool.OracleDataSource
- 26. Differenza tra Dizionario e Hashtable
- 27. Differenza tra SCM e SVN
- 28. differenza tra RDLC e SSRS
- 29. Differenza tra REMOTE_HOST e REMOTE_ADDR
- 30. Differenza tra "\ n" e Environment.NewLine
Di quale piattaforma stai parlando? Questi termini sono comunemente usati nel codice di database .NET - è il contesto? – Oded
Windows, C++ Builder 6 – truthseeker