Programowanie obiektowe
1
L
L
a
a
b
b
o
o
r
r
a
a
t
t
o
o
r
r
i
i
u
u
m
m
z
z
p
p
r
r
z
z
e
e
d
d
m
m
i
i
o
o
t
t
u
u
P
P
r
r
o
o
g
g
r
r
a
a
m
m
o
o
w
w
a
a
n
n
i
i
e
e
o
o
b
b
i
i
e
e
k
k
t
t
o
o
w
w
e
e
-
-
z
z
e
e
s
s
t
t
a
a
w
w
1
1
0
0
Cel zajęć. Celem zajęć jest zapoznanie się z tworzeniem aplikacji okienkowych posiadających dostęp do danych za
pomocą ADO .NET.
Zadanie. Proszę zrealizować aplikację, która powinna odznaczać się następującymi cechami:
Aplikacja ma łączyć się z bazą danych zawierającą informacje na temat wyników Dużego Lotka.
Aplikacja w kontrolce typu DataGridView ma wyświetlać wszystkie wyniki losowań (wyniki mają być
pobierane w sposób połączeniowy).
Aplikacja ma umożliwiać dodanie nowych wyników, które należy wpisać w osobnym oknie aplikacji.
Aby zrealizować zadanie należy wykonać następujące kroki:
Proszę o sprawdzenie, czy włączony został SQL Server. W tym celu proszę o wybranie z Menu Start opcji
„Programy” > „Microsoft SQL Server 2008” > „Configuration Tools” > „SQL Server
ConfigurationManager”. Po uruchomieniu okna menedżera konfiguracji proszę o wybór z lewego
panelu opcji „SQL Server Services”. Pozycje „SQL Server” i „SQL Server Browser” po prawej
stronie powinny posiadać stan „Running”, w przeciwnym wypadku proszę o ich zaznaczenie
i naciśnięcie przycisku oznaczonego zielonym trójkątem.
Proszę o przejście do Visual Studio oraz wybranie z menu opcji „View” > „Server Explorer”. W nowo
otwartym panelu proszę o kliknięcie prawym przyciskiem myszy na opcję „Data Connections”, a następnie
o wybranie opcji „Create New SQL Server Database…”. W nowo otwartym oknie proszę o wybór nazwy
serwera z listy, a następnie o podanie nazwy bazy „lotto”.
Programowanie obiektowe
2
Proszę o przejście do Server Explorer i rozwinięcie elementów nowo utworzonej bazy (znaczek plus).
Następnie proszę o kliknięcie prawym przyciskiem myszy na element „Tables” oraz wybór opcji „Add New
Table”. W nowo otwartej zakładce proszę o utworzenie tabeli „duzy”, a następnie o jej zapis (CTRL + S).
Tabela powinna być zgodna z poniższym schematem:
Proszę o powrót do okna Server Explorer, kliknięcie prawym przyciskiem myszy na utworzoną tabelę „duzy”
i wybranie opcji „Show Table Data”. W nowo otwartej zakładce proszę o dodanie do tabeli kilku
przykładowych rekordów (zapis danych – Ctrl + S).
Proszę o dostosowanie formatki do poniższego wzoru:
Proszę implementację w klasie głównej formatki następujących pól:
Proszę o umieszczenie w konstruktorze domyślnym formatki następującego kodu:
Programowanie obiektowe
3
Proszę o implementację w klasie głównej formatki metody „LoadWyniki”, wywoływanej w konstruktorze
domyślnym formatki, która ma odpowiadać za załadowanie wyników z bazy danych do kontrolki typu
DataGridView. Operacja ta ma zostać wykonana za pomocą sposobu połączeniowego.
Przykładowy odczyt wszystkich wierszy będących wynikiem zapytania można wykonać następująco:
Proszę o dodanie do projektu nowej formatki i dostosowanie jej do poniższego wzoru (kontrolka z datą to
kontrolka typu DateTimePicker):
Proszę o obsługę zdarzeń Click kontrolek „Dodaj” i „Anuluj” w formatce „Dodaj losowanie” według
poniższego schematu, gdzie metoda „CheckFields” sprawdza, czy wszystkie pola zostały poprawnie
wypełnione:
Programowanie obiektowe
4
Proszę o obsługę zdarzenia Click przycisku „Dodaj” głównej formatki wedle poniższego schematu. Ma ono
powodować utworzenie i wyświetlenie jako okna dialogowego formatki „Dodaj wyniki”, a w wypadku
odczytania wartości jej właściwości DialogResult jako „OK.”, podane liczby mają zostać dodane do bazy.
Podpowiedzi:
- formatka „Dodaj wyniki” powinna zawierać właściwości umożliwiające dostęp do wartości właściwości
Text kontrolek typu Textbox oraz do wartości daty ustawionej na kontrolce typu DateTmePicker.
- aby uzyskać datę bez czasu z kontrolki typu DateTimePicker:
Zadania do domu.
1. Proszę zrealizować aplikację, która powinna odznaczać się następującymi cechami:
Aplikacja ta ma stanowić rozszerzenie powyższej aplikacji.
Aplikacja ma umożliwiać usuwanie dowolnego wiersza tabeli.
Aplikacja ma umożliwiać filtrowanie wyników wedle podanej daty.
2. Proszę zrealizować powyższą aplikację wykorzystując model bezpołączeniowy.