Obecnie pracuję nad projektem, którego głównym zadaniem jest odczytywanie danych przechowywanych w bazie SQL i wyświetlanie ich w przyjaznej dla użytkownika postaci. Używany język programowania to C++. Pracuję w środowisku Borland C++ Builder 6. Ale myślę, że pytanie postawione w tytule jest niezależne od języka programowania lub bibliotek. Podczas odczytu danych z db często spotykam się z tymi terminami w nazwach klas, nie wiedząc dokładnie, co reprezentują. Rozumiem, że zachowują się jak interfejs do danych przechowywanych w db. Ale dlaczego istnieje potrzeba użycia dwóch klas interfejsu zamiast jednego?Różnica między DataSource a DataSet
Odpowiedz
DataSource
= Jak połączyć się z bazą danych DataSet
= Struktura bazy danych w pamięci
Bardziej szczegółowo (z egzaminu 70-516: TS: dostęp do danych z programu Microsoft .NET Framework 4 książki):
DataSource Jest to podstawowa właściwość, do której przypisano dane. Można przypisać dowolne zaimplementowanie interfejsu IList, IListSource, IBindingList lub IBindingListView . Niektóre przykłady elementów, które można przypisać do właściwości DataSource to tablice (IList), listy (IList), tabele danych (IListSource) i zestawy danych (IListSource).
DataSet to oparte na pamięci, tabelaryczne, relacyjne przedstawienie danych i jest podstawowym obiektem odłączonych danych. Koncepcyjnie pomyśl o DataSet jako relacyjnej bazie danych w pamięci, ale to po prostu buforowane dane i nie zapewnia żadnej z właściwości transakcyjnych (atomowość, spójność, izolacja, trwałość), które są niezbędne dla dzisiejszych relacyjnych baz danych. DataSet zawiera kolekcję obiektów DataTable i DataRelation
Zakładając, że mówimy o ekosystemie .NET, te dwa pojęcia oznaczają bardzo różne rzeczy.
A DataSet
to klasa reprezentująca dane relacyjne w pamięci procesu (to znaczy poza bazą danych) - zwykle wypełniana z bazy danych. Reprezentuje tabele i relacje między nimi (np. Ograniczenia klucza obcego).
DataSource
jest atrybutem data binding - przypisywanie obiekt do kontroli na własności DataSource
wiąże źródła danych (takie jak DataSet
) do sterowania.
O jakiej platformie mówisz? Te terminy są powszechnie używane w kodzie bazy danych .NET - czy to kontekst? – Oded
Windows, C++ Builder 6 – truthseeker