Budowa aplikacji ASP.NET współpracującej z bazą danych do

advertisement
Budowa aplikacji ASP.NET
współpracującej z bazą danych
do obsługi przesyłania
wiadomości
Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner
umieszczamy dwie Encje (tabele)
prawym przyciskiem rezygnujemy z polecenia wstawiania kolejnych Encji i klikając
dwukrotnie na jedną z nich definiujemy parametry
wprowadzamy jej nazwę
UWAGA: w programie tym nie należy używać polskich liter oraz znaku spacja
proszę wprowadzać nazwy zarówno tabel jak i kolumn (atrybutów)
identyczne jak w prezentowanym scenariuszu
definiujemy kolumny tabeli, pierwsza to klucz główny tabeli (nazwa jak poniżej, program
wprowadza nazwy domyślne Państwo zamieniacie je na wskazane)
definiujemy typ danych dla tej kolumny (proszę używać przycisku z trzema kropkami)
w przypadku klucza głównego jest to liczba czyli Intiger
definiujemy że dla tej kolumny nie zezwalamy na wartość pustą dodając nowy rekord
definiujemy tę kolumnę jako klucz główny tabeli (zaznaczamy pole wyboru jak poniżej)
następnie zaznaczamy i kopiujemy nazwę tej kolumny (Ctrl+C)
przechodzimy do zakładki Identifires
oraz wklejamy nazwę wprowadzonego klucza (Ctrl+V)
powracamy do zakładki Attributes oraz definiujemy kolejną kolumnę tabeli jak poniżej
następnie zatwierdzamy przyciskiem OK
tabela dzial powinna wyglądać jak poniżej
projektujemy teraz kolejną tabelę
teraz połączymy tabele relacją jeden do wiele
rysujemy trzymając lewy klawisz linię pomiędzy tabelami (z obszaru jednej tabeli do
drugiej)
następnie doprecyzujemy relację
następnie sprawdzamy poprawność diagramu
model powinien być pozbawiony błędów oraz ostrzeżeń, jeżeli tak nie jest proszę to
zgłosić prowadzącemu
następnie generujemy model fizyczny
proszę wybrać jako DBMS Microsoft SQL Serwer 2008
model powinien wyglądać jak poniżej (pojawił się klucz obcy Id_dzial w tabeli wiadomosc)
jeżeli jest inaczej to proszę to zgłosić prowadzącemu
następnie generujemy skrypt bazy danych czyli instrukcję w języku SQL, która utworzy
bazę danych na serwerze
możemy wskazać lokalizację do której zostanie zapisany skrypt (u Państwa będzie ona
oczywiście inna niż poniżej) oraz jego nazwę
po wygenerowaniu wybieramy opcję Edit (klikamy na napis Edit, nie na przycisk listy
rozwijalnej)
przystąpimy teraz do utworzenia pliku bazy danych przy pomocy wygenerowanego skryptu
uruchamiamy jak poniżej (skryptu bazy nie zamykamy)
łączymy się z lokalnym serwerem (nazwa serwera jest przypisana do komputera przy
którym Państwo pracujecie będzie zatem inna niż poniżej)
klikając prawym przyciskiem jak poniżej utworzymy „pojemnik bazy danych”
wprowadzamy nazwę bazy (proszę zastosować unikatową nazwę wiadomosc_(Państwa
nazwisko) oraz potwierdzamy przyciskiem OK
Następnie rozwijamy listę baz w drzewie i nasza baza powinna się tam znajdować (jej
nazwa będzie oczywiście taka jak Państwo wprowadziliście)
następnie utworzymy strukturę naszej bazy przy pomocy skryptu SQL, który uzyskaliśmy z
programu PowerDesigner, klikamy zatem prawym przyciskiem na nazwę naszej bazy oraz
wybieramy nowe zapytanie
następnie w naszym skrypcie Ctrl+A (zaznacz wszystko) oraz Ctrl+C (kopiuj)
wklejamy nasz skrypt Ctrl+V
wykonujemy zapytanie przyciskiem Execute
powinniśmy otrzymać komunikat że wykonanie zapytania zakończyło się sukcesem
po rozwinięciu listy w drzewie bazy widzimy, że pojawiły się dwie tabele
zatem mamy utworzoną kompletną bazę, aby możliwe było jej skopiowanie musimy
zatrzymać serwer
nasza baza znajduje się w lokalizacji jak poniżej
(lokalizacja pliku na dysku jak poniżej)
proponuję utworzyć sobie na potrzeby tego ćwiczenia na dysku folder do którego proszę
skopiować dwa pliki (ich nazwa będzie inna tzn. wiadomość (Państwa nazwisko)
uruchamiamy serwer
uruchamiamy VisualStudio i przystąpimy teraz do zaprojektowania aplikacji
proponuje również utworzyć na dysku folder w którym zapisana zostanie aplikacja
proszę również sprawdzić czy domyślny język jest ustawiony na C#
dodajemy Stronę wzorcową
ustawimy tło strony wzorcowej, powinno to być zdefiniowane w kaskadowym arkuszu
stylów ale nie jest to celem tego ćwiczenia zastosujemy zatem pewne uproszczenie
w nagłówku wprowadzamy tekst jak poniżej, możecie Państwo umieścić w nim dowolną
grafikę albo kalendarz
proszę pamiętać, że umieszczone elementy muszą się znajdować poza kontenerem w
którym wyświetlane są wszystkie strony aplikacji
struktura stron w naszej aplikacji będzie następująca
założenie jest takie, że użytkownik „anonimowy” nielogowalny widzi tylko strony „Strona
główna” oraz „Wyślij wiadomość” zatem tworząc pozostałe strony umieścimy je w folderze
a następnie zabronimy użytkownikom anonimowym dostępu do tego folderu
dodajemy zatem stronę główną, proszę pamiętać o zaznaczeniu opcji Wybierz stronę
wzorcową
wprowadzamy jej tytuł
wprowadzamy tekst jak poniżej
nasza strona w przeglądarce powinna wyglądać jak poniżej
dodajemy kolejną stronę, proszę pamiętać aby w nazwach stron nie używać polskich liter
oraz spacji
wprowadzamy tytuł strony, tutaj dozwolone są polskie litery
kolejne strony umieścimy w folderze administracja, zatem tworzymy go
kolejne strony umieścimy w tym folderze zatem
wprowadzamy tytuł
kolejna strona w folderze administracja
tytuł
kolejna strona w folderze administracja
tytuł
ostatnia strona
tytuł
w celu wykorzystania kontrolki Menu konieczne jest utworzenie mamy witryny z głównego
poziomu dodajemy zatem plik jak poniżej
dodany plik będzie miał strukturę jak poniżej
na bazie pustych znaczników definiujemy strukturę aplikacji jak poniżej
aby struktura aplikacji była zgodna z założeniami plik powinien wyglądać jak poniżej
tworząc nowy plik otrzymacie Państwo jedynie zestaw pustych znaczników kopiując je
oraz przeciągając adresy stron proszę doprowadzić plik do postaci jak poniżej
na stronie wzorcowej umieszczamy źródło danych kontrolki Menu (grupa kontrolek Data
kontrolka SiteMapDataSource
następnie umieszczamy kontrolkę Menu (grupa kontrolek Nawigacja) oraz definiujemy co
ma być jej źródłem danych
modyfikujemy jej wygląd
menu naszej aplikacji w przeglądarce powinno wyglądać jak poniżej
we właściwościach kontrolki menu ustawimy zatem aby statycznie były wyświetlane dwa
poziomy menu
oraz zmienimy orientację na poziomą
uzyskamy efekt jak poniżej
do naszej aplikacji dodamy teraz plik bazy danych który został utworzony w pierwszej
części niniejszego scenariusza, pliki baz są przechowywane w folderze systemowym
App_data musimy go zatem utworzyć
oraz dodajemy do niego naszą bazę (plik oczywiście ma nazwę wiadomość_Nazwisko
jeżeli w programie nie jest wyświetlona zakładka Eksplorator serwerów proszę ją
wyświetlić
następnie podłączamy się do bazy oraz rozwijamy listę tabel
następnie proszę sprawdzić czy
ODZNACZONA!!!! jest opcja wskazana poniżej
następnie dla kluczy głównych tabeli ustawimy opcję automatycznego zwiększania
wartości (w przypadku dodania nowego rekordu kolumna klucza będzie wypełniana
automatycznie)
zamykamy definicję tabeli oraz potwierdzamy zapisanie zmian
analogicznie w przypadku tabeli wiadomość
rozpoczniemy od zaprojektowania strony dodaj dział z poziomu której użytkownik może
dodawać działy naszej firmy
wewnątrz kontenera wprowadzamy tekst oraz umieszczamy kontrolkę TextBox
poniżej umieszczamy kontrolkę Button oraz zmieniamy tekst na przycisku
w przeglądarce strona powinna wyglądać jak poniżej
strona ma zatem działać w taki sposób, że w momencie kliknięcia przycisku dodaj dział
pobierana jest zawartość kontrolki TextBox i wysyłana do bazy danych
na stronie potrzebujemy zatem źródła danych, umieszczamy kontrolkę
SqlData Source
oraz konfigurujemy ją
wskazujemy z którą bazą danych chcemy nawiązać połączenie
następnie możemy zapisać to połączenie, wprowadzamy zatem nazwę
interesuje nas połączenie z tabelą dzial
za pomocą przycisku Advanced wymuszamy utworzenie zapytań umożliwiających
wstawianie, modyfikowanie oraz usuwanie danych
następnie klikamy Next oraz Finish
nasze źródło danych umożliwia wstawianie danych do tabeli dział musimy jeszcze
zdefiniować skąd mają być pobierane nazwy działów, we właściwościach kontrolki
SqlDataSource1 edytujemy zapytanie Insert
źródłem parametru Nazwa_dzial w naszym przypadku jest kontrolka
TextBox1
zatem nasze źródło SqlDataSource1, jest już skonfigurowane musimy tylko obsłużyć
zdarzenie kliknięcia przycisku w taki sposób aby jego kliknięcie wywołało zapytanie Insert
źródła SqlDataSource1
utworzymy zatem zdarzenie kliknięcia przycisku „dodaj dział” klikając na niego
dwukrotnie
program przeniesie nas do pliku dodaj_dzial.aspx.cs
zostało stworzone zdarzenie Button1_Click
w nawiasie klamrowym musimy zatem określić co ma być wykonane w ramach tego
zdarzenia, w naszym przypadku chcemy wywołać zapytanie Insert żródła
SqlDataSource1
UWAGA!!! wszelkie wprowadzane polecenia należy wybrać z listy (z wyjątkiem nawiasów
i znaków pomocniczych)
następnie wprowadzamy kropkę oraz
otwarcie oraz zamknięcie nawiasu i średnik na końcu wiersza
następnie w celu wyczyszczenia zawartości TextBox'a przeładujemy stronę za pomocą
polecenia
następnie kropka oraz
następnie adres strony w nawiasie oraz cudzysłowie i średnik na końcu
proszę zapisać wszystkie zmiany
proszę wyświetlić stronę w przeglądarce oraz dodać kilka działów np.: reklama, marketing,
kadry, księgowość, prezes, produkcja, płace itp.
Sprawdzimy teraz czy wprowadzone dane znajdują się w bazie
jeżeli wszystko zostało wykonane poprawnie nasze działy zostały zapisane w bazie
(proszę nie sugerować się wartościami klucza Id_dzial)
Download