ODBIERZ TWÓJ BONUS :: »

Errata książki

Drogi Czytelniku! Poniżej zamieszczona jest errata do książki:

"C# 3.0 i .NET 3.5. Technologia LINQ"

Jest to lista błędów znalezionych po opublikowaniu książki, zgłoszonych i zaakceptowanych przez naszą redakcję. Pragniemy, aby nasze publikacje były wiarygodne i spełniały Twoje oczekiwania. Zapoznaj się z poniższą listą. Jeśli masz dodatkowe zastrzeżenia, możesz je zgłosić pod adresem: ebookpoint.pl/user/erraty

Strona Linia Jest Powinno Zgłaszający
18 Podrozdział pomiędzy „Testowanie danych” a „Łączenie zbiorów danych” Załóżmy, że w tabeli mamy dane osób z wielu rodzin. Wówczas wygodne może być pokazanie osób o tym samym nazwisku w osobnych grupach. W prostym przykładzie widocznym poniżej zaprezentujemy osobno osoby o tym samym nazwisku, ale w jego męskiej i żeńskiej formie. Warunek umieszczający w osobnych grupach może być jednak dowolną funkcją C#; moglibyśmy zatem sprawdzać czy nazwiska są takie same po odjęciu ich końcówki.



var grupyOsobOTymSamymNazwisku = from osoba in listaOsob



group osoba by osoba.Nazwisko into grupa



select grupa;



s="Lista osób pogrupowanych nazwiskami:\n\n";



foreach (var grupa in grupyOsobOTymSamymNazwisku)







s += "Grupa osób o nazwisku " + grupa.Key + "\n";



foreach (Osoba osoba in grupa)



s += osoba.Imię + " " + osoba.Nazwisko + "\n";



s += "\n";







MessageBox.Show(s);



-
38 drugi akapit Skorzystałem także z własności ListaOsobs (z „s” na końcu) pierwszej z klas, aby pobrać referencję do kolekcji zawierającej dane z tabeli ListaOsob (wyróżnienie w listingu 3.7). Skorzystałem także z własności ListaOsobs (z „s” na końcu) pierwszej z klas, aby pobrać referencję do kolekcji zawierającej dane z tabeli ListaOsob (wyróżnienie w listingu 3.7). Podobnie, jak w przypadku klasy DataContext możemy w konstruktorze klasy TelefonyDataContext jawnie podać ścieżkę do pliku bazy danych. Nie jest to już jednak konieczne - ścieżka ta jest bowiem przechowywana w ustawieniach projektu. -
38 Listing 3.7 private void button5_Click(object sender, EventArgs e)



//tworzenie obiektu DataContext i pobieranie danych z tabeli

string nazwaPliku = "Telefony.mdf";

nazwaPliku = Path.GetFullPath(nazwaPliku);

if (!File.Exists(nazwaPliku))



MessageBox.Show("Brak pliku " + nazwaPliku);

return;



TelefonyDataContext bazaDanychTelefony = new TelefonyDataContext(nazwaPliku);

var listaOsob = bazaDanychTelefony.ListaOsobs;

private void button5_Click(object sender, EventArgs e)



//tworzenie obiektu DataContext i pobieranie danych z tabeli

TelefonyDataContext bazaDanychTelefony = new TelefonyDataContext();

var listaOsob = bazaDanychTelefony.ListaOsobs;

-
Płatności obsługuje:
Ikona płatności Alior Bank Ikona płatności Apple Pay Ikona płatności Bank PEKAO S.A. Ikona płatności Bank Pocztowy Ikona płatności Banki Spółdzielcze Ikona płatności BLIK Ikona płatności Crédit Agricole e-przelew Ikona płatności dawny BNP Paribas Bank Ikona płatności Google Pay Ikona płatności ING Bank Śląski Ikona płatności Inteligo Ikona płatności iPKO Ikona płatności mBank Ikona płatności Millennium Ikona płatności Nest Bank Ikona płatności Paypal Ikona płatności PayPo | PayU Płacę później Ikona płatności PayU Płacę później Ikona płatności Plus Bank Ikona płatności Płacę z Getin Bank Ikona płatności Płatność online kartą płatniczą Ikona płatności Santander Ikona płatności Visa Mobile
Bezpieczne płatności szyfrowane SSL