TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

Podobne dokumenty
Podstawowe funkcje dodatku linq w C#

Leszek Stasiak Zastosowanie technologii LINQ w

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

5. Bazy danych Base Okno bazy danych

Wprowadzenie do baz danych

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Kostki OLAP i język MDX

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Baza danych część 8. -Klikamy Dalej

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Ćwiczenie zapytań języka bazy danych PostgreSQL

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Problemy techniczne SQL Server

Projektowanie baz danych za pomocą narzędzi CASE

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Problemy techniczne SQL Server

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Wprowadzenie do Doctrine ORM

NORTHWIND. Anonco.pl. ćwiczenia praktyczne. KiK s Tutorials. NORTHWIND dwiczenia praktyczne. ANONCO.PL/SQL SQLSERVERDLAOPORNYCH.WORDPRESS.

Baza danych. Program: Access 2007

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

SQL Server Configuration Manager centrum dowodzenia

Jak zaimportować bazę do system SARE

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Stosowanie, tworzenie i modyfikowanie stylów.

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

Ćwiczenia 2 IBM DB2 Data Studio

5. Uruchomienie SQL Server Business Intelligence Development Studio Menu Start -> SQL Server Business Intelligence Development Studio

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

Autor: Joanna Karwowska

Bazy danych. Polecenia SQL

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Zapytania i wstawianie etykiet z bazy danych do rysunku

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

PTI S1 Tabele. Tabele. Tabele

Zapytania do bazy danych

Język SQL, zajęcia nr 1

Joyce Cox Joan Lambert. Microsoft Access Krok po kroku. Przekład: Jakub Niedźwiedź

BAZY DANYCH laboratorium 2 tworzenie bazy danych, podstawy języka SQL

asix4 Podręcznik użytkownika BAZA - drajwer dostępu do baz danych Podręcznik użytkownika

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Obsługa pakietu biurowego OFFICE

OvidSP - Skrócony opis wyszukiwania - Wyszukiwanie proste i złożone,

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

Polecenie 3.1: Uruchom SQL Server Management Studio, zaloguj się do serwera.

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Rozwiązanie. Uruchom program Access 2007.

Zapytania do baz danych

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz

Instrukcja laboratoryjna

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

Programowanie obiektowe

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Podstawowe zapytania SELECT (na jednej tabeli)

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Przewodnik Szybki start

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

Baza danych Uczniowie.mdb

Podręcznik użytkownika. Instrukcje

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

SIECI KOMPUTEROWE I BAZY DANYCH

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Modelowanie obiektowe - Ćw. 1.

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Baza danych sql. 1. Wprowadzenie

UMOWY INSTRUKCJA STANOWISKOWA

Zaletą tego przestawiania jest brak ingerencji w oryginalną tabelę danych. Możemy przestawiad i sprawdzad bez obaw o utratę lub naruszenie danych.

Relacyjne bazy danych. Podstawy SQL

BACKUP BAZ DANYCH MS SQL

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Database Connectivity

Language INtegrated Query (LINQ)

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Systemy GIS Tworzenie zapytań w bazach danych

Opis programu Konwersja MPF Spis treści

Kolejne osoby możemy wyświetlać naciskając przyciski do przesuwania rekordów.

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

Podstawy obsługi modułu administracyjnego

Transkrypt:

POLITECHNIKA WROCŁAWSKA KOŁO NAUKOWE KREDEK Laboratorium nr 4 TEMAT ĆWICZENIA Zapoznanie z technologią LINQ Wykonał: Mateusz Woszczyk 155693 Termin: Cz / 19.00 Data wykonania ćwiczenia: 20.11.2011

1. LINQ co to jest? Technologia LINQ (Language Integrated Query zapytanie wbudowane w język) pozwala na tworzenie zapytań pobierających i aktualizujących dane z obiektów, baz danych, dokumentów XML, zbiorów danych ADO.Net i innych. 2. Jak zacząć(vs 2010 Pro, C# + LINQ to SQL) Aby zacząć prace przechodzimy do okna view-> Server Explorer Następnie klikam na przycisk Connect to Database.

Pojawia nam się okno Add Connection. W polu Data Sources wybieramy Microsoft SQL Server Database File, a następnie przyciskiem Browse wybieramy nasz plik z bazą danych. Gdy po przejściu kolejnych kroków i próbie wczytania bazy danych pojawi się błąd pokazany na rysunku poniżej. Należy w oknie Add connection przejść do zakładki Advanced.

A następnie w polu data source zmienić wartość z./sqlexpress na. Po wczytaniu naszej bazy danych, klikamy prawym przyciskiem myszy na nasz projekt i wybieramy Add -. New Item.

Pojawi nam się lista z której wybieramy LINQ to SQL Classes Następnie z okna Server Explorer przeciągamy do zakładki DataClasses1.dbml tabele na których chcemy pracować. W tym momencie możemy zacząć naszą pracę z technologią LINQ.

3. Podstawowe funkcje do obsługi baz danych Dodawanie nowych rekordów W tym celu należy skorzystać z funkcji InsertOnSubmit(). Employee cat = new Employee() FirstName = tbfirstname.text, LastName = tblastname.text, Title = tbtitle.text, Country = tbcountry.text, Notes = tbnotes.text, }; Musimy jednak pamiętać, że nasza metoda InsertOnSubmit() zapisuje dane tylko do naszego modelu obiektów, a nie zapisuje zmian w bazie danych. dc.employees.insertonsubmit(cat); W tym celu musimy wywołać jeszcze funkcję SubmitChanges(), która to dopiero zapisze zmiany w bazie danych. dc.submitchanges(); Aktualizowanie rekordów W Przypadku aktualizowania wierszy, najpierw odczytujemy dany wiersz a następnie go modyfikujemy. var query = (from p in dc.employees where p.employeeid == int.parse(tbid.text) orderby p.employeeid ascending select p).first(); Metoda First() zwraca pierwszy element z sekwencji, możemy tez zastosować metodę Single(), która zwróci nam jeden element z sekwencji albo zgłosi błąd, jeżeli w sekwencji będzie więcej elementów. Następnie zmieniamy wartości pól. query.firstname = tbfirstname.text; query.lastname = tblastname.text; query.title = tbtitle.text; query.country = tbcountry.text; query.notes = tbnotes.text; Zmiany w baize danych dokonujemy za pomocą metody SubmitChanges(). dc.submitchanges();

Usuwanie rekordów W celu usunięcia rekordu, najpierw należy go wyszukać, następnie wywołać metodę First() i na koniec użyć metody SubmitChanges(). var query = from p in dc.employees where p.employeeid == int.parse(tbid.text) orderby p.employeeid ascending select p; Przed wywołaniem metody DeleteOnSubmit() dla bezpieczeństwa możemy sprawdzić czy nasze zapytanie zwróciło w ogóle jakieś wyniki, jeżeli tak to możemy przystąpić do jego usunięcia. if (query.count() > 0) } dc.employees.deleteonsubmit(query.first()); dc.submitchanges(); 4. Inne przykłady Przykład 1 zapytanie zwracające wszystkie rekordy zaczynające się na dana literę. var query = from p in dc.categories where p.categoryname.contains("a") orderby p.categoryname ascending select p; Przykład 2 zapytanie zwracające wszystkie rekordy zaczynające się i kończące na dana literę. var query = from p in dc.categories where p.categoryname.startswith("c") && p.categoryname.endswith("s") orderby p.categoryname descending select p; Przykład 3 Proste zapytanie do znalezienia wyłącznie nieparzystych rekordów, z sortowaniem malejącym var query = from p in dc.categories where (p.categoryid % 2 == 1) orderby p.categoryname descending select p; Przykład 4 Użycie metody join do połączenia kolumn z dwóch różnych tabel i zapisanie wybranych w utworzonej klasie. var query = (from p in dc.customers.asenumerable() join r in dc.orders.asenumerable() on p.customerid equals r.customerid select new

id_nasz = p.customerid, CompanyName_nasz = p.companyname, ContactName_nasz = p.contactname, OrderDate_nasz = r.orderdate, ShipCountry_nasz = r.shipcountry }).ToList(); Przykład 5 Zapytanie wykonujące dokładnie to samo co w przykładzie 4, ale utworzone za pomocą składni metod zamiast składni zapytań. Znajdujący się tutaj znak => nosi nazwę operatora lambda i można go odczytywać jako przechodzi w. //Kod w postaci składni metod(=>) jest krótszy ale mniej intuicyjny var query = (dc.customers.asenumerable().join(dc.orders.asenumerable(), p => p.customerid, r => r.customerid, (p, r) => new id_nasz = p.customerid, CompanyName_nasz = p.companyname, ContactName_nasz = p.contactname, OrderDate_nasz = r.orderdate, ShipCountry_nasz = r.shipcountry })).ToList(); Przykład 6 Zapytanie które w prosty sposób realizuje wyświetlanie stanu dostępności danego produktu na podstawie ilości posiadanego produktu i liczby złożonych zamówień na dany produkt. var query = from p in dc.products select new ProductName = p.productname, Availability = p.unitsinstock - p.unitsonorder < 0? "Out Of Stock" : "In Stock" };