Kategorie szkoleń | Egzaminy | Kontakt

Odpowiedzi (2)

  • 3

DataReader  to model połączeniowy i jest ściśle związany z konkretnym źródłem danych. DataReader pozwala na jednokierunkowy odczyt danych. Chcąc manipulować danymi, należałoby połączyć się ze źródłem danych i po raz kolejny przesłać zapytanie.

DataSet  to model bezpołączeniowy i pełni rolę bazy danych w pamięci. Nie jest związany ze źródłem danych.  Mogę np. utworzyć DataSet bez bazy danych. Jest bardziej elastyczny i daje większe możliwości manipulacji danymi. Przy jednym połączeniu z bazą mogę przesłać wiele zapytań SQL , dzięki czemu dostaję Kolekcję tabel, na bazie których mogę tworzyć relacje. Przy manipulacji danymi przychodzi z pomocą również LINQ to DataSet.

Często za wyborem DataSet przemawia serializacja do XML. DataReader musi  być połączony z bazą, dlatego nie może być serializowany.

Reasumując. Jeśli  moim zadaniem jest pobranie i wyświetlenie bardzo dużej ilości danych, lepszym rozwiązaniem jest DataReader. Jeśli pobieram dane, na których muszę dokonywać skomplikowanych operacji, wybór pada na DataSet.

Bogdan_Chlebowski_DCHK
  • Odpowiedział
  • @ Bogdan_Chlebowski_DCHK | 12.04.2014
    • 3
    • 4
    • 12
  • 1

Proponuję zainteresować się technologią Entity Framework. Programista może posługiwać się czystymi klasami modelu danych (np. Customer, Product), a zapytania pisać bezpośrednio w kodzie za pomocą Linq To Entities. Wyrażenia Linq automatycznie tłumaczone są na polecenia SQL. 

  • Odpowiedział
  • @ | 02.06.2014
  • TRENER ALTKOM AKADEMII