LAB 14 Aplikacja bazodanowa


C# to ułatwia
Dlaczego powinieneś uczyć się C#
 /ub Visua( Studio Integrated
& Development Erwironment  petni
C # oraz Visual Studio IDE ułatwiają Ci poznanie tajników pisania kodu i, ważną rolą w pracy z C*. To program,
który pozwala Ci edytować kod,
co ważne, pisania go szybko. Kiedy pracujesz z C#, pakiet Visual Studio jest
zarządzać plikami, a także publikować
Twoim najlepszym przyjacielem oraz stałym kompanem.
Twoje projekty.
A oto lista czynności,
które IDE wykonuje za Ciebie:
|~Private void ImnalizeComponento"
Za każdym razem, kiedy zamierzasz rozpocząć
th i s . SuspendLayo^ t(/fStem' Wlndows *Forms" Bu tto n ( ) ;
ljl buttonl
pisanie programu lub chociażby umieścić przycisk
na formularzu, Twój program potrzebuje całej masy
thi I Drat "0-Polni CIOS. 56) ;
powtarzającego się kodu.
SystemEventHndler(this.buttonl_cliC);
. a k
j l
S & S W t , o d a r t e ; l"l Form
Ss ng System.Windows.Forms,
Spsce ANwPograin
_ e _r
this.AutoScaleMode0^1 S y s t e m " ^ HyStem'Drawing-Sizefr(8F 16F)
static class Program
% point for tl applicatłon.
I J Hi- s "aouit(f
s.'Iext m=LF"!I";alse);
I tn Resu e y
///
g M MinO
a
Application.Run(new FormlO),
/
- Tyk kodu potrzebn ł
P o c is k na f o r m u ł a ^ n aT Mać
"'ego nieco wieksze? ? i P dani(* do
wizualnych może spoJodn!
ze wunikowu kZi
Co otrzymujesz razem ŁS2y ^uższy. ę z,e
z Visual Studio oraz C#?
Z językiem C#, przystosowanym do programowania
Windows, oraz Visual Studio IDE możesz natychmiast
skupić się na tym, co powinien robić Twój program.
Wynikiem je s t lepiej
działająca aplikacja, którei
i
Hż Twój program
Tekst Mo to zaczynamy!
Efekt?  Dobry 0 Lepszy 0 Najlepszy
c # oraz Visual Studio ^
Wartość Q  ------ -----------------------------
IDE posiadają wcześniej
Wszystko OK!
s s
który je st elementem
najczęściej wykonywanych
zadań programistycznych.
postęp
do danycl1
42 Rozdziali.
Zwiększ wydajność za pomocq C#
C# oraz Visual Studio
ułatwiają wiele czynności
Kiedy używasz C # i Visual Studio, dostajesz wiele
wspaniałych możliwości bez żadnego dodatkowego
nakładu pracy. Reasumując, uzyskujesz możliwość:
Q Tworzenia aplikacji SZYBKO. Tworzenie programów w C # jest niczym robienie zdjęć
aparatem cyfrowym. Język jest potężny i łatwy do opanowania, natomiast Visual Studio
IDE przejmuje ogromną część pracy i wykonuje ją za Ciebie automatycznie. Możesz
zostawić przyziemne sprawy związane z kodowaniem IDE, a samemu skupić się na tym,
co Twój kod powinien wykonywać.
Q Zaprojektowania wspaniale wyglądającego interfejsu użytkownika. Form
Designer w środowisku Visual Studio IDE jest jednym z najprostszych istniejących
narzędzi do projektowania. Robi za Ciebie tak wiele, że kreowanie oszałamiających
interfejsów staje się jedną z najbardziej satysfakcjonujących czynności podczas tworzenia
aplikacji w C#. Możesz budować profesjonalne, w pełni funkcjonalne programy
bez niepotrzebnego tracenia wielu godzin na pisanie po raz kolejny od podstaw
graficznego interfejsu użytkownika.
Q Tworzenia i zarządzania bazami danych. IDE wyposażone jest w prosty interfejs
służący do budowania baz danych. Pozwala on na bezproblemową integrację z SQL
Server Compact Edition, jak również z kilkoma innymi systemami bazodanowymi.
O Skupienia się na rozwiązywaniu PRAWDZIWYCH problemów. IDE robi za Ciebie
wiele, ale w dalszym ciągu to Ty panujesz nad tym, co tworzysz za pomocą C#. IDE
pozwala Ci skupić się na Twoim programie, pracy (lub zabawie!) oraz klientach, a do tego
zajmuje się całą czarną robotą, taką jak:
f& śledzenie wszystkich Twoich projektów,
f& ułatwianie edycji kodu,
f& kontrolowanie grafiki, dzwięków, ikon oraz innych zasobów w Twoich projektach,
f& zarządzanie i interakcja z bazami danych.
Oznacza to, że cały ten czas, jaki musiałbyś spędzić, wykonując rutynowe zadania, można
przeznaczyć na tworzenie zabójczych programów.
W krótce dowiesz się,
co naprawdę mamy na myśli.
jesteś tutaj % 43
Szef potrzebuje Twojej pomocy
Pomóż dyrektorowi naczelnemu
zrezygnować z papieru
Firma papiernicza Papiernia Obiektowo właśnie zatrudniła nowego dyrektora
naczelnego. Uwielbia on wycieczki piesze, kawę, przyrodę... i podjął decyzję,
że będzie przyczyniał się do ratowania lasów. Ma potrzebę zostania kierownikiem
 elektronicznym . Na pierwszy ogień pójdzie lista jego kontaktów. W najbliższy
weekend wybiera się na narty do Aspen i liczy na to, że do jego powrotu powstanie
nowy program z książką adresową. W przeciwnym razie... no cóż... nie tylko stary
dyrektor naczelny będzie szukał pracy.
Lepiej, żebyś szybko znalazt
sposób na umieszczenie
Nazwa: Leokadia Kowalska
Firma: Babnexsp. z 0.0. ^
Telefon: (11)9853752
E-mail: l.kowalska@balonex.com.pl
AA Hordzie#!.
Zwiększ wydajność za pomocą C#
Sprawdz potrzeby Twoich użytkowników,
zanim zaczniesz tworzyć program
Zanim zaczniesz pisać książkę adresową  lub jakąkolwiek inną
aplikację  musimy zatrzymać się na minutę i pomyśleć o tym,
kto będzie jej używał i czego od niej oczekuje.
(D Dyrektor naczelny chce uruchamiać program w pracy oraz na swoim
laptopie. Potrzebuje zatem programu instalacyjnego, aby mieć pewność,
że wszystkie niezbędne pliki znajdą się na każdym komputerze.
Dyrektor naczelny chce uruchamiać
książkę adresową na komputerze
stacjonarnym i laptopie, zatem program
instalacyjny je s t niezbędny.
Zanim zaczniesz
tworzyć kod/
pomysł o swoich
użytkownikach
Dział sprzedaży firmy papierniczej Papiernia Obiektowo także
chce mieć dostęp do książki adresowej. Chce on używać danych
oraz ich
do budowania list kontaktów i w ten sposób zwiększyć sprzedaż
potrzebach;
papieru.
oni na pewno to
Dyrektor naczelny dochodzi do wniosku, że baza danych będzie
najlepszym rozwiązaniem. W ten sposób każdy w firmie będzie miał
docenią i będ^
dostęp do tych informacji, a on będzie musiał zarządzać tylko jedną
zadowoleni
kopią swoich kontaktów.
z finalnego
produktu, kiedy
aSchowywŁ iS i ? c h -
Jf*an e informacji
go wreszcie
Prze
W, takiej formie urnorhwia
skończysz.
jednoczesny * s tę p do ji.ch
dyrektorowi naczelnemu
oraz dziafowi
mimo że fizycznie i s t n i e
tylko jedna kopia danych.
Jesteś tutaj > 45
Oto Twój cel
Oto program, który zamierzasz stworzyć
Potrzebujesz aplikacji z graficznym interfejsem użytkownika, obiektów
niezbędnych do komunikacji z bazą danych, właściwej bazy danych oraz
programu instalacyjnego. Brzmi to jak wyrok i zapowiada konieczność
wygospodarowania ogromnej ilości czasu, ale zbudujesz to wszystko
po przeanalizowaniu następnych kilku stron.
A oto struktura programu, który zamierzamy stworzyć:
* Windows Aplikacja posiada
oddzielną warstwę
obstugi bazy danych.
\ ( | Polecenie SELECT |
Obiekty bazy danych .MET | polecenie insert )
Obiekty wizualne .NET
| Polecenie UPDATE j
Ob iV*
w
Potrzebujemy obiektów
do komunikacji z tabelami,
S r? nasza aRlikacja
bazu d m ' l - s rukt "!
jCSf
bazy danych, i innych telementów
Rozdział 1.
Zwiększ wydajność za pomocą C#
Program po utworzeniu
W szystkie dane przechowywane są
umieszczany je s t w pi i ku
w tabeli bazy danych SQL Server
Compact
instalatora Windows.
Pamięć bazy danych
Paczka instalatora
Tab'a
procedury
składowane
Dziat sprzedaży
będzie musiat
jedynie
wskazać plik
i kliknąć
$o, aby
zainstalować
program
i z niego
korzystać.
X
To je s t prawdziwa baza danych, którą
możemy utworzyć i którą można zarządzać
za pomocą Yisual Studio.
jesteś tutaj % 47
%
Przystąp więc do dzieła i uruchom Visual Studio, jeżeli jeszcze tego nie zrobiłeś.
Pomiń stronę startową i wybierz New Project z menu File. Nazwij swój projekt
 Kontakty i naciśnij OK. Do wyboru masz kilka różnych typów projektów. Wybierz
Windows Forms Application, a jako nazwę swojego nowego projektu wpisz  Kontakty .
fiew Project
"łunę* - ,
-*
Iratatled TempUłes
Type: Vul C*
Ossi Lifcwry VisstaiC#
s
WttUstC# a
A profect for creating an appfication witK a
Windows Forms use* interface
Wygląd IDE
Console Application VsuIC#
m
może się
Empty Project V(SU8lC#
m
WmsScws Forms AppScatian Viiuai C* t a a l nieco różnić
m
od Twojego.
WPF Application Vt5U*iC#
13
WPF Browse! Application Visual C*
I m
Tak wygląda okno New Project
w Visual Studio 2010 Express
Edition. Jeśli używasz wersji
Professional lub Team Foundation,
może ono wyglądać nieco inaczej.
Ale nie przejmuj się  wszystko
będzie działało dokładnie
f iw r . Kontakty
tak samo.
Co Visual Studio robi za Ciebie
Upewnij się, ze zaraz po utworzeniu
projektu zapisałeś go, wybierając
Save Ali z menu File  spowoduje
Gdy tylko zapiszesz nowy projekt, IDE utworzy pliki Forml.cs,
to zapisanie do katalogu wszystkich
Forml.Designer.es oraz Program.cs. Elementy dodawane są do okna
jego plików. Jeżeli wybierzesz Save,
Solution Explorer. Domyślnie pliki zapisywane są także w folderze zapisany zostanie tylko plik, nad którym
aktualnie pracujesz,
Moje dokumentyWisual Studio 2010\Projects\Kontakty\.
Ten plik zawiera kod C# Ten zawiera kod
uruchamiający program Kod, który definiuje
definiujący zachowanie
wygląd formularza oraz
i wyświetlający
formularza.
jego obiektów, znajduje
formularz.
się tutaj. J
Foirrnl.cs Program.cs
Visual Studio tworzy wszystkie
trzy pliki automatycznie.
48 Rozdziali
Zwiększ wydajność za pomocq C#
Poniżej pokazany jest wygląd ekranu, jaki prawdopodobnie możesz w tej chwili
Zaostrz ołówek
zaobserwować. Powinieneś odgadnąć, do czego służą poszczególne okna, bazując
na wiedzy, którą na tym etapie posiadasz. Upewnij się, że okna Toolbox oraz Error List
są widoczne, wybierając odpowiednie opcje z menu Yiew/Other Windows. W każdym
z pustych pól wstaw komentarz wyjaśniający przeznaczenie danego obszaru IDE.
Na początek uzupełniliśmy jedno pole.
Ten pasek narzędzi posiada
In t L ZJ l wyg/ąds doktadnie tak jak
p o c is k i związane z tym, 
, V " obrazku, mozesz wybrać Reset Window
Powiększyliśmy to okno,
Layout z menu Window. oolu
" 99. J.99S ak?ualnie wykonywane abyś miat więcej
miejsca.
za pomocą IDE.
li Kontakty - Microsoft Visue2 C* 201X> Fxpress (kdtnnutrator)
F: ^ V* '** "B' 5 Frm Wto
ś *" us o * m*
| j a i U * *r . %, * ...r ................
%...... : n - %
% :
ImageLisł
Labef
Linki sbel
List&o*
ż31 Reftrences
UitView
r- ż ! Fofmł.cs
MaskedToftBo* ljjg Pragfsm.cs
MenuStrip
Mssi5feQeue
MoothCłtendar
Ncsłtfykon
Numest UpDcwn
Gper.fifeDislag
PsgeSetupDwlog
PerformanceCounte?
PctufeBox
Jeśli okna Error List lub Toolbox nie są
PńntBiato^ Forml System.WmdowAForms.FcmTi
PrintDoeumerst
widoczne, to możesz je wyświetlić,
P fi rvtPrev>ewC onttoi
wybierając odpowiednie opcje z menu
PrtntPreviewOiatog
AcceptButton
Yiew/Other Windows.
CancelButtcn
ProgretiBaf KeyPreview Fatee
PropertyGrid WU
hy
i w
Ł CEtror? J; 0 / %" ' i
-
KadioBuRon ControtBox
Dcr*ption
HelpBułton
RschTejdBesi
SaveF>;eDiaiog
isMdiContainer
SerieiPort
MsinWenoStrip
SvkeConłK>iier
SptitContainer
Splitter
StatusSłrip________
SoEution Explorer
Salut i on 'Kontakty1(ł project)
j> S i Properties
f> S i Ref er en ces
> żż] Forml.cs
J^ r c3 Program.cs
j
/
jesteś tutaj % 49
Poznaj swoje IDE
Zaostrz ołówek
Uzupełniliśmy komentarze dotyczące różnych obszarów Visual Studio C # IDE.
Rozwiązanie
W poszczególnych miejscach możesz mieć napisane inne rzeczy, ale powinieneś znać
przeznaczenie każdego okna i każdej sekcji.
Ten pasek narzędzi posiada
przyciski związane z tum,
co je s t aktualnie wykonywa
ne za pomocą IDE.
L| Knaky- Mroot Sisul Ź #2Wzp&s {Jtómeaa
ż ot t icsf f a 8 i t s mt t %
^ w ^ **  ' " '
^. L $4 j ? * k:i V % U l ż1 m-3 S j " *. -o:^
J
ImageList
m
A Lafcel
A UnfcLabei
List8ox
iii
UsiĄśew
MaskedTettBc*
h5
MemiStrip
w
MsagŹ QuŹ ue
m
MonthC!enm
Notrfytcon
m NumericUf^tewn To okno pokazuje
OpenFiieDiaiog
m
wszystkie wtaściwośa
To je st okno
PżgeSeftupDiiic-g
n
aktualnie wybranej
z kontrolkami >
Psnei
m
Perf ormanceC ounter
i i kontrolki formularza.
Zawiera
PictuieBox
m
zestaw kon Fofmł System.Windows.
PnntDwiog
m
PfintDocuroenł
trolek, które & ; % U : - i ; i % 1
[& PriniPtewewControl
* i
możesz
PńntPwwiewOtófog
m AcceptBurton (nonej 1
przeciągać Proces* CsncelBotton (none) 1 \
3
ProgftssBat KeyPreview Fafee / |
wprost
A . - 1
PropertyGrid
m
i^O Etrofs I ^ OWsrnmgj J 0 Messsges
na formularz. ControlBo* Tnie 1
RadioButton

Oescrtptton i Fitę
HelpBtrtton Faise I
RkhTextBox
:'K
S koo I- 1
>
S*veFilDlog
m
fsMdtContainer Filie 1
Czy widzisz
SeriaiPort
&
MainMenuStnp (nonę) /
SetviceConhro!te(
m
tę niewielką
SpiitContainer
m
Spfrtter
*
ikonkę pineski?
StstusStfip
La.
L_________U l
Klikając ją,
możesz w łączać
lub w yłączać
Jeśli w kodzie pojawią się jakieś
automatyczne
btędu, zostaną wyświetlone
w oknie Error List (lista btądów).
ukrywanie okna.
Ten dolny panel pokazuje wiele
Solution Bcplorer
W przypadku
informacji diagnostycznych
dotyczących tworzonego programu okna Toolbox
automatyczne
Q Solution 'Kontakty' (1 project)
ukrywanie
3^ )
jest domyślnie
p 3H Properties
włączone.
W oknie Solution Expbrer
% wyświetlone pliki fo % l cs i> 3 References
oraz Program.cs, które zost-a tu
a
PU] Forml.cs
utworzone dla Ciebie przez IDE
% Ą Możesz przełączać się
podczas dodaujania
^ Program.cs
pomiędzy plikami
nowego projektu.
za pomocą okna Solution
Explorer w IDE
50 Rozdziali.
Zwiększ wydajność za pomocq C#
i Niejstnieja,
głupie pytania
Jeśli zmienisz nazwy plików, to w oknie
znać
VT: Skoro IDE pisze cały ten Co wtedy, gdy IDE utworzy kod,
Properties będziesz miał okazję przekonać
kod za mnie, to czy nauka C# którego nie chciałem?
się, że formularz wciąż nosi nazwę Forml
sprowadza się do nauki IDE?
Jego nazwę możesz zmienić w wierszu
C J: Możesz go zmienić. IDE jest
 (Name)" w oknie Properties. Jeśli to zro
U : Nie. IDE jest wspaniałe w automa przystosowane do tworzenia kodu
bisz, nazwa pliku nie ulegnie zmianie.
tycznym generowaniu dla Ciebie części na podstawie tego, w jaki sposób elementy
C# nie zwraca uwagi na nazwy plików
kodu, ale więcej nie może zrobić. Jest zostały przeciągnięte lub dodane do
i formularzy (ani jakichkolwiek innych
wiele rzeczy, w których jest naprawdę aplikacji. Czasami nie jest to sposób, jaki
elementów projektu), choć istnieje kilka
dobre, takich jak wstępna konfiguracja
byłby przez Ciebie pożądany. Wszystko,
reguł, którymi należy się kierować podczas
lub automatyczna zmiana właściwości co IDE robi dla Ciebie  każda linijka kodu,
ich określania. Niemniej jednak dobieranie
kontrolek na formularzu. Istnieje jednak którą tworzy, każdy plik, który dodaje
odpowiednich nazw może ułatwić Ci pracę.
znacznie trudniejsza część programowania,  może być zmieniane zarówno ręcznie,
Póki co nie przejmuj się nimi  w dalszej
czyli troska o to, co powinien robić poprzez bezpośrednią edycję plików,
części książki zamieścimy znacznie więcej
program, i zmuszenie go do posłuszeństwa,
jak i przy użyciu łatwego w obsłudze
informacji dotyczących dobierania nazw
a tego żadne IDE za Ciebie nie zrobi.
interfejsu środowiska.
dla różnych elementów programów.
Pomimo tego, że Visual Studio IDE jest
jednym z najbardziej zaawansowanych 0^: Czy wszystko będzie
ciwości
0^: Przyglądam się właśnie
spośród istniejących środowisk, może ono działało dobrze, jeżeli pobrałem
mej
mojemu IDE i dochodzę do
i zainstalowałem Yisual Studio
dojść tylko do tego etapu. To Ty, nie żadne
lan a.
wniosku, że mój ekran wygląda
Express? Czy nie powinienem używać
IDE, jesteś odpowiedzialny za pisanie kodu,
nieco inaczej niż Twój. Brakuje
jednej z płatnych wersji Visual
który wykonuje właściwą pracę.
niektórych okien, inne są
Studio, aby zrobić wszystko, co jest
poprzestawiane. Co się dzieje?
tu opisane?
0^: Utworzyłem nowy projekt
w Visual Studio, ale kiedy
0 : Jeżeli wybierzesz polecenie
0 : Nie ma w tej książce niczego,
sprawdziłem podkatalog Projects
Z Reset Window Layout z menu Window,
czego nie dałoby się zrobić za pomocą
w folderze Moje dokumenty, nie
to IDE odtworzy oryginalny wygląd
darmowej wersji Visual Studio (którą
znalazłem go tam. Co się stało?
i położenie okien. Następnie możesz
eski?
można pobrać ze strony Microsoftu).
skorzystać z opcji View/Other Windows,
U : Kiedy zaczynasz tworzyć nowy projekt Główne różnice pomiędzy edycją Express
by upodobnić swoje okno Visual Studio
ączać w Visual Studio 2010, IDE umieszcza a pozostałymi (Professional i Team
do tych pokazanych w tym rozdziale.
ać go w katalogu Ustawienia lokalne\ Foundation) nie uniemożliwiają pisania
zne Dane aplikacji\ Temporary Projects. w pełni funkcjonalnych i kompletnych
Gdy zapisujesz go po raz pierwszy, jesteś aplikacji w C#.
okna.
Visuai Studio generuje
pytany o nazwę pliku, a po zaakceptowaniu
ku
wyboru projekt zostaje zapisany w katalogu (P : Czy mogę zmienić nazwy plików,
kod, który może być
>ox
które IDE dla mnie generuje?
Moje dokumenty\ Visual Studio 2010\
zne
użyty jako podstawa do
Projects. Próbując otworzyć nowy projekt
dalszego pisania aplikacji.
U : Oczywiście. Podczas tworzenia nowe
lub zamknąć tymczasowy, zostaniesz
ślnie
go projektu IDE generuje domyślny formu
poproszony o wybór jednej z dwóch
larz o nazwie Forml w jego skład wcho
l/pewnienie się,
opcji  zapisania lub odrzucenia zmian.
dzą trzy pliki: Form1.cs, Form1.Designer.cs
(Uwaga: inne wersje Visual Studio nie
że aplikacja robi
oraz Form1.resx. Możesz jednak skorzystać
używają tego tymczasowego katalogu
dokładnie to, do czego
z okna Solution Explorer, by nadać tym
do przechowywania projektów  tworzą je
została stworzona,
plikom dowolne inne nazwy. Domyślnie
od razu w katalogu Projects!)
odpowiadają one nazwie formularza.
należy wyłącznie
do Ciebie.
jesteś tutaj % ' 51
PictureBox jest wart tysiąca słów
Stwórz interfejs użytkownika
Dodawanie kontrolek i nadawanie blasku interfejsowi użytkownika jest
bardzo proste i sprowadza się do przeciągania i upuszczania elementów
w Visual Studio IDE. Dodajmy zatem logo do formularza.
O Użyj kontrolki PictureBox, aby dodać obrazek.
Kliknij kontrolkę PictureBox w oknie Toolbox, a następnie przeciągnij
ją na formularz. W tle IDE doda jej kod do pliku Forml.Designer.es.
Jeżeli nie widzisz
okna Toolbox,
r Al! W indows Forms
spróbuj najechać
< C cm men Controls
"
t
wskaznikiem f&rrŚ
% Pointer
myszy na słowo
O Buitton
Toolbox, które CheckBox
m
CheckedtistBox
znajduje się i i
Com boBo*
a
w lewym górnym
DateTimePkfcer
rogu IDE. Jeśli
A Labei
go tam nie ma,
LmkLabel
A
wybierz element
Li:stBox
El
Toolbox z menu ListĄsew
W-\ MaskedTejstBo*
View, aby pojawiło
| l j MonthCaEendar
się na ekranie.
|kon | y
SS\Nu]^icU}Dc^/i
PktureBox
" Y \ f \
S
RkhTextBox
m
TextBox
Za każdym razem, gdy wprowadzasz zmianu
"teści ościach kontrolki formularza, kod
p nez^D E -Designer.es je s t zmieniany
Nie przejmuj się, jeieii nie jesteś
profesjonalistą w projektowaniu
graficznych interfejsów użytkownika.
W swoim czasie powiemy znacznie więcej o tworzeniu dobrych
interfejsów użytkownika. Na tym etapie wystarczy, że wstawisz logo oraz
inne kontrolki do formularza i zadbasz o jego prawidłowe zachowanie.
0 stylowy wygląd zatroszczymy się pózniej.
52 Rozdział 1.
Zwiększ wydajność za pomocq C#
Obiekty Obiekty Pamięć Paczka
wizualne .NET bazy danych g ś \ bazy danych instalatora
1.NET fB
Jesteś tutaj
.,0
\ 4 . ^ 'J/programu
\ J - '
, \ , J ....
. y ' o b ^ '
Ustaw tryb Zoom dla obiektu PictureBox.
Każda kontrolka na Twoim formularzu posiada
właściwości, które możesz ustawić. Aby dostać
się do nich, kliknij małą czarną strzałkę widoczną
na kontrolce. Zmień właściwość Size Mode obiektu
PictureBox na  Zoom , a zobaczysz, jak to działa.
k/iknij tą matą czarną
Wartość
s trzatkę.
wtaściwości Si ze
Mode można także
określić w oknie
Properties IDE.
Ta niewielka
czarna strzatka ma
jedynie zapewnić
tatwiejszy dostęp
do najczęściej
używanych
wtaściwości
do obrazka kM doPaso^ n ia
się
kontrolek.
omieśćZz 0ry w nieJ
Następnie kliknij opcję Choose Image,
aby wyświetlić okno dialogowe Select Resource
Pobierz logo firmy Papiernia Obiektowo.
Pobierz logo Papierni Obiektowo z serwera ftp (ftp://ftp.helion.pl/przyklady/cshrug.zip) i zapisz
je na twardym dysku. Następnie wybierz strzałkę właściwości kontrolki PictureBox i kliknij
Choose Image. Na ekranie pojawi się okno dialogowe Select Resource. Zaznacz przycisk opcji
Local Resource, aby uaktywnić przycisk Import; kliknij ten przycisk a następnie odszukaj na
dysku obrazek, którego chcesz użyć. I to już wszystko.
Tutaj znajduje się logo
Papierni Obiektowo oraz
kontrolka PictureBox, która
dopasowata swó) rozmiar
do jego wielkości.
jesteś tutaj % 53
Oszczędzając zasoby naturalne C#
Dc
Za kulisami Visual Studio
wy
Za każdym razem, gdy zmienisz coś w Visual Studio, IDE pisze za Ciebie kod.
Kiedy utworzyłeś logo i zdecydowałeś, żeby Visual Studio używało pobranego
IDE
obrazka, stworzyło ono zasób i skojarzyło go z Twoją aplikacją. Zasoby
prze
to każdy plik graficzny, dzwiękowy, ikona, a także każdy inny rodzaj danych
aby
wrzucanych do Twojego programu. Plik graficzny staje się wówczas integralną
i je]
częścią aplikacji, aby podczas jej instalacji na innym komputerze został tam
zapisany razem z innymi składnikami i aby PictureBox mógł go używać.
Pod
zje*
Kiedy przeciągnąłeś kontrolkę PictureBox na formularz, IDE automatycznie
Upt
utworzyło plik Fonnl.resx, aby przechowywać zasoby i trzymać je
Ten obrazek je s t teraz w zasobach
kon
aplikacji listy kontaktowej.
razem w projekcie. Kliknij dwukrotnie ten plik, a zobaczysz niedawno
wyk
zaimportowany obrazek.
zobi
Przejdz do okna Solution Explorer i kliknij niewielki trójkącik
Solution Bcplorer
wyświetlony z lewej strony pliku Forml. es, aby rozwinąć dodatkowe
mśm
opcje (oczywiście, o ile nie są jeszcze widoczne). W ten sposób w oknie
Solution 'Kontakty' (1 project)
powinny pojawić się kolejne dwa pliki: Forml.Designer.es
a g p Kontakty
oraz Forml.resx. Aby wyświetlić zaimportowane wcześniej logo,
t> SU Properties
dwukrotnie kliknij ten drugi plik, a następnie kliknij na strzałce
m References
umieszczonej obok opcji Stńngs i z rozwijalnej listy wybierz opcję
a M Forml.cs
j
Image (możesz także nacisnąć Ctrl+2). To właśnie ten plik łączy
*żj| Forml .Designer.es
logo firmy z kontrolką PietureBox, a IDE automatycznie dodało kod,
^ Forml .resac
który obsługuje to połączenie.
UJ Program,cs
Jeśli w oknie dialogowym
r
Select Resource klikniesz
Forml ,resx
drugi przycisk Import
O j Images i J j Adkś Resource * >, R*move
(w ramach czynności
opisanych na poprzedniej
stronie), to obrazek pojawi
się w katalogu Resources (
(widocznym w oknie Solution
Gdi
Łxpiorer). Nie przejmuj się
w h
tym  wróć ponownie do okna
ona
Select Resource i jeszcze raz
w i
zaimportuj logo do zasobów
okn
programu  w ten sposób
wpi
pojawi się ono we właściwym
ale
miejscu.
pot
Form1.Pesigneir.es
Kiedy zaimportowałeś obrazek,
IDE utworzyło ten plik.
Zawiera on wszystkie zasoby
(grafikę, wideo, dzwięki i inne
przechowywane dane) skojarzone
Tu są pliki- Wóre
z formularzem Forml.
V is u a l Studio
wygenerowało
Form1.resx
wcześniej.
Program.cs
54 Rozdział 1.
Zwiększ wydajność za pomocq C#
Dodaj coś do automatycznie
wygenerowanego kodu
IDE tworzy dużą część kodu za Ciebie, ale zawsze będziesz chciał go
przeglądać i coś do niego dodawać. Ustawmy zatem logo w ten sposób,
aby wyświetlało okienko informacyjne, gdy użytkownik uruchomi program
i je kliknie.
Podczas edycji formularza w IDE dwukrotne kliknięcie któregokolwiek
z jego elementów spowoduje automatyczne dodanie kodu do projektu.
Upewnij się, że IDE wyświetla formularz, a następnie dwukrotnie kliknij
kontrolkę PictureBox. W rezultacie IDE doda do projektu kod, który będzie
wykonywany za każdym razem, gdy użytkownik kliknie logo. Powinieneś
Gdu dwukrotnie kliknąteś kontrolką PictureBox,
zobaczyć fragment pojawiającego się kodu podobny do tego: IDE utworzy to tą metodą. Będzie ona
wykonywana za Każdym razem, gdy użytkownik
kliknie logo podczas dziatania aplikacji.
public partial class Forml : Form
{
public Forml()
{
InitializeComponent(); N azw a tej metody doskonale
T e ś la , kiedy jest om
}
private void pictureBoxl_C1ick (object sender, EventArgs e)
{ 
MessageBox.$how(,lLista kontaktów vl.0.\nAutor: Twoje imię",  G programie11);
Gdy dwukrotnie klikniesz Wpisz tę linijkę kodu. Powoduje
w kontrolką PictureBox, otworzy ona wyświetlenie okienka
ona ten kod z kursorem ustawionym ia ogowego prezentuioceoo
r menu File. Przyzwyczajaj się do c z ę s r e g o
u tym miejscu. Ignoruj wszystkie
j
&/rur y0 T f - 0kn
T
okna, które pojawiają się podczas i o programie .bi ^ e miato O pisyw ania rezultatów swojej pracy przy
wpisywania. IDE stara się pomóc, pomocy opcji Save AU.
ale na razie tej pomocy nie
potrzebujemy.
i Niejstnieja.
głupie pytania
(P: Co to jest metoda? (P: Co robi jakieś \n w kodzie?
U : Metoda to po prostu nazwany fragment U : To symbol łamania wierszy tekstu. W ten
kodu. Powiemy sobie na ten temat znacznie sposób mówimy C#f aby umieścił fragment
więcej w rozdziale 2. "Lista kontaktów v1.0." w jednym wierszu,
a pozostałą część: "Autor", w kolejnym.
jesteś tutaj % 55
Uruchom aplikację (już!)
Już możesz uruchomić aplikację
Naciśnij F5 na klawiaturze lub kliknij przycisk z zieloną strzałką ( p )
na pasku narzędzi, aby sprawdzić, co udało Ci się do tego momentu
napisać. (Nazywa się to  debugowaniem , czyli uruchamianiem
programu za pośrednictwem IDE). Możesz zatrzymać debugowanie,
wybierając Stop Debugging z menu Debug lub klikając w ten przycisk
na pasku narzędzi: ( a ). Wszystkie trzy przyciski
działają  nie m usisz
i Niejstnieja.
głupie pytGdzie są moje pliki?
: W moim IDE zielona strzałka jest
C # zamienia Twój
Kiedy uruchamiasz swój program, Visual
program na plik, oznaczona jako Debug. Czy to jakiś problem?
który możesz
Studio kopiuje wszystkie pliki do katalogu
uruchomić,
U : Nie. Debugowanie, przynajmniej w naszym
Moje DokumentyWisual Studio 2010\Projects\
zwany plikiem
przypadku, to uruchamianie aplikacji poprzez IDE.
wykonywalnym.
y ? Kontakty\Kontakty\bin\debug. Możesz nawet
Znajdziesz go Powiemy sobie więcej na jego temat w dalszej
f przejść do niego i uruchomić poprzez dwukrotne
tutaj, w folderze
części książki. Na chwilę obecną będzie to po prostu
kliknięcie pliku .exe program, który został
debug.
sposób na uruchamianie programów.
utworzony przez IDE.
(P : Nie widzę żadnego przycisku
Stop Debugging na moim pasku narzędzi.
O co chodzi?
n a n
P ro g ram .cs | | ^ _F rm 1 . __ | | K o n ta k ty .c sp ro j bin
U : Przycisk Stop Debugging znajduje się
U J s s L U
na specjalnym pasku narzędzi, który staje się
Forrn1.es Form 1.resx P r o p e r t ie s
widoczny dopiero po uruchomieniu programu.
Uruchom aplikację jeszcze raz i sprawdz,
 To nie je s t btąd. Istnieją, dwa poziomy katalogów.
czy pasek się pojawił.
Wewnętrzny folder posiada właściwe pliki z kodem C# ,
56 Rozdziali,
Zwiększ wydajność za pomocą C#
Co zrobiliśmy do tej pory
Stworzyliśmy formularz i wstawiliśmy kontrolkę PictureBox, która w momencie
kliknięcia wyświetla okienko dialogowe z komunikatem. Kolejnym zadaniem będzie
dodanie wszystkich innych pól karty, takich jak nazwa kontaktu i numer telefonu.
Zdecydowaliśmy, że te informacje będziemy przechowywać w bazie danych. Visual
Studio może zarządzać bezpośrednim połączeniem z taką bazą danych, dzięki
czemu nie będziemy potrzebowali zaśmiecać kodu licznymi odwołaniami do niej
(co jest niewskazane). Jednak aby to wszystko prawidłowo działało, musimy stworzyć
naszą bazę w taki sposób, by kontrolki mogły się do niej odwoływać. Zamierzamy
więc przenieść się z obszaru obiektów wizualnych .NET bezpośrednio do sekcji
bazy danych.
Obiekty wizualne
.NET
Obiekty Pamięć Paczka
bazy bazy danych instalatora
SUECTf
" ó t e n i s INStjgTf
f
danych
fpo^niU?DATS| Obiekty wsparcia
M ET
diagramu baty
| Poieeenj*
danych
System
ObieVS
Musimy więc skupić
się na tym kroku:
Ten etap ma
stworzeniu bazy
na celu potączenie
danych i umieszczeniu
formularza z bazą
w niej pewnych
danych, na co nie
informacji.
jesteśm y na razie
gotowi. Po prostu
nie posiadamy
zrobiliśmy
je s z c z e b a z y ^
tej pory,..
danych.
Visual Studio może wygenerować kod
pozwalajacy na połączenie formularza i bazy
danych, ale ZANIM to będzie możliwe, musimy
tak^ bazę stworzyć.
jesteś tutaj % 57
Zachowaj to na pózniej
Potrzebujemy bazy danych
Upewnij się,
do przechowywania naszych informacji ____
że skończyłeś
debugować, zanim
Zanim dodamy do formularza resztę pól, musimy stworzyć bazę,
przejdziesz dalej.
z której będzie on korzystał. IDE może wygenerować znaczną
część kodu odpowiedzialnego za połączenie formularza i danych,
ale musimy wcześniej zdefiniować samą bazę.
O Dodaj nową bazę danych SQL do projektu.
W oknie Solution Explorer kliknij prawym przyciskiem myszy
Ten plik je st
naszą nową
projekt Kontakty i wybierz Add, a następnie New Item. Kliknij
bazą danych.
ikonę SQL Database, a jako nazwę wpisz ContactDB.sdf. 
ContactPB.sdf
M d Item - Kontakty
j irateSed Teroptartes ^ Crfa.it
I Seardi instaligd Ttmjłtotts
: o 1
{ Visust C# Items | ."  ł
lype: 
/isusl C# items
Yisual C# ftems
a n n g u m g n n m n \'ml ^PP!lcat,on Manifest Fite
Wybierz oocie
Opcja Locai
\ Assembfy Information Fite Vtsuaf C# heros
Locol Database, / I
Database oznacza
1 Q Code Fite Visoaf C* ftems
w rzeczywistości
by utworzyć
1jJtP DatsSet Visua{ C# ftems plik bazy danych
plik SLQ Server
1 P I
SQL Server
* Debugger Vtsuafaef Visuaf C* ftems
Compact
Compact Edition,
Edition, który 1NL U N Q ta S Q tC fa * s ^ który zazwyczaj ma
l
rozszerzenie Sur.^
będzie zawierać ( ^ tocsS Dstsbaue j Ąisua* C# Stems
.. ........
Daje on możliwość
całą Twoją
j MDI Parent Form Visua( C# ftems
tatwego dodania
1 jg u
bazę danych.
i  j Resources Ne Visoal C# ftems
bazy danych
| ż.gf*
Nadaj jej nazwę do projektu.
, % Service-based Database Visua&C#fteras
ContactDB.sdf.
1 !i " "%
|- j Settings Fite VisuaS C# ftems
Visuai G* ftems
| jjj TeXtFiiŹ
Visuat C* ftems
Q W oknie dialogowym Add New Item kliknij
Jeżeli nie używasz
przycisk Add.
edycji Express, możesz
Q Zamknij okno Data Source Configuration Wizard. zobaczyć S ew er
Explorer zamiast okna
Na tym etapie chcemy pominąć konfigurację zródła
Database Explorer.
danych, więc kliknij przycisk Cancel. Wrócimy tutaj,
jak tylko ustalimy strukturę naszej bazy danych.
Visual Studio 2010 Professional oraz Team
Q Oglądnij bazę danych w oknie Solution Explorer.
Foundation nie posiadają okna Database Explorer.
Przejdz do okna Solution Explorer, a zobaczysz, że baza
Zamiast tego mają okno Server Explorer, które
ContactDB została dodana do listy plików. Kliknij
potrafi zrobić dokładnie to samo, a oprócz tego
dwukrotnie ContactDB.sdf i popatrz na lewą stronę umożliwia przeglądanie danych w sieci.
ekranu. Toolbox został zastąpiony przez Database
Explorer.
58 Rozdziali,
Zwiększ wydajność za pomocq C#
Obiekty Obiekty Pamięć Paczka
IDE utworzyło bazę danych wizualne  NET bazy danych bazy danych instalatora
1.NET
;\m a
Kiedy nakazałeś IDE dodać nową bazę SQL do projektu, IDE
W
ją utworzyło. Baza danych SQL to system, który przechowuje
dane w sposób zorganizowany i relacyjny. Dodatkowo IDE
udostępnia wszystkie narzędzia niezbędne do pracy z samą
bazą danych oraz przechowywanymi w niej informacjami.
Dane w bazie SQL przechowywane są w tabelach. Na bieżące
Jesteś tutaj
potrzeby wystarczy wyobrazić sobie, że baza to rodzaj arkusza
kalkulacyjnego. Organizuje on dane w ramach wierszy
i kolumn. Kolumny reprezentują ich kategorie, takie jak nazwa
kontaktu i numer telefonu, natomiast każdy rząd reprezentuje
jedną kartę kontaktową.
przechowuj*
_ dan- Zawiera ona
dda*kowo informacje o ich
i strukturze oraz kod SQL
\ Pmcny w dostępie do nich.
Twoje dane przechowywane
są w postaci kolumn
rządów, podobnie jak
w arkuszu.
s*tad owane
ŁQL jest swoim własnym językiem
SQL to skrót od Structured Query Language. Oznacza
język programowania pozwalający na dostęp do danych
Baza danych SQL znajduje się
zgromadzonych w bazie. Posiada on swoją własną składnię,
w tym pliku. Wkrótce zdefiniujemy
słowa kluczowe i strukturę. Kod SQL przyjmuje postać
tabele i dane dla niej, a wszystko
to znajdzie się wtaśnie w tym
instrukcji i zapytań, które umożliwiają dostęp do danych
miejscu.
i ich pobieranie. Baza danych może posiadać tak zwane
procedury składowane będące zestawem instrukcji
i zapytań SQL przechowywanych w niej i gotowych do
ContactPB.sdf
uruchomienia w każdej chwili. IDE generuje instrukcje SQL
i procedury składowane automatycznie, aby możliwy był
dostęp do danych z poziomu programu.
[Notka dziatu marketingu: Czy możemy wstawić
tutaj reklamę książki SQL. Kusz gtową!**?]
Jesteś tutaj % 59
Pamięć bazy danych ułatwia pracę
Tworzenie tabeli dla listy kontaktowej
Mamy już bazę danych. Potrzebujemy jeszcze zgromadzić w niej
informacje, ale muszą się one mieścić w tabelach, czyli strukturach
bazy używanych do przechowywania poszczególnych bitów danych.
Dla celów naszej aplikacji stwórzmy zatem tabelę  People ,
aby w niej przechowywać wszystkie informacje kontaktowe. (P: Czy moiesz jeszcze raz powiedzieć,
co to jest kolumna?
Q Dodaj tabelę do bazy ContacłOB.
U : Kolumna to jedno pole w tabeli. A zatem
Kliknij prawym przyciskiem myszy w element Tables
w tabeli People możesz mieć kolumny FirstNome
w oknie Database Explorer i wybierz Create Table.
oraz LostNome, które będą oznaczały imię
Spowoduje to otwarcie okna, w którym możesz
i nazwisko osoby. Z kolumną jest także
zdefiniować nazwy kolumn tworzonej tabeli.
nierozerwalnie związany typ danych taki jak
String, Date czy też Bool.
(P: Do czego jest nam potrzebna kolumna
ContactID?
* lt ContactDB.sdf
0 : Umożliwia ona posiadanie unikalnego
identyfikatora przez każdy rekord w większości
tabel. Dlatego w przypadku przechowywania
listy kontaktów do poszczególnych osób
zdecydowaliśmy się utworzyć specjalną kolumnę
i nazwać ją ContactID.
(P: Co oznacza Int w polu Data Type?
W tej chwili potrzebujemy nowych kolumn w naszej bazie. W pierwszej
kolejności do tabeli dodajmy kolumnę ContactID, tak aby każdy rekord
U : Pole Dota Type określa, jaki rodzaj informacji
posiadał swój własny, unikalny identyfikator.
będzie przechowywany w danej kolumnie.
Int jest skrótem od integer, co oznacza liczbę
O Dodaj kolumnę ContactID do tabeli People.
całkowitą. Na tej podstawie wnioskujemy,
Wpisz  ContactID w polu Column Name i wybierz Int
że kolumna ContactID będzie przechowywała
z listy rozwijalnej Data Type. Upewnij się, że na liście
liczby całkowite.
Allow Nulls została wybrana opcja No.
(P: To strasznie duio różnych informacji.
Na koniec utwórzmy klucz główny dla naszej tabeli.
Czy mam to wszystko rozumieć?
Podświetl kolumnę ContactID, którą właśnie utworzyłeś,
i naciśnij przycisk Pńmary Key. Spowoduje to, że każdy
U : Nie, nie ma problemu, jeżeli wszystkiego
wpis w tym polu traktowany będzie jako unikalny
w tej chwili nie rozumiesz. Twoim
klucz główny. aktualnym zadaniem powinno być poznanie
podstawowych sposobów korzystania z Visual
Studio IDE w celu określenia postaci formularza
m m ł n m
i uruchamiania programu. (Jeśli nie możesz
się doczekać, by dowiedzieć się czegoś więcej
Dodaj nową kolumnę typu int o nazwie
na temat baz danych, to zawsze możesz sięgnąć
ContactID. Upewnij się, że w polu Allow
po książkę SQL. Rusz głowq!).
Nulls zostata wybrana opcja No, a w polach
Uniąue oraz Primary Key opcja Yes.
Zwiększ wydajność za pomocq C#
Obiekty Obiekty Pamięć Paczka
wizualne MEJ bazy danych g bazy danych instalatora
1MET l
J
^ Powiedz bazie danych, aby automatycznie
generowała identyfikatory.
Dopóki ContactID jest numerem wykorzystywanym wyłącznie
Jestes tutaj
przez bazę danych, a nie przez użytkownika, dopóty możemy
obciążyć bazę obowiązkiem automatycznego generowania
identyfikatorów. W ten sposób nie musimy się martwić
o pisanie żadnego kodu potrzebnego do tego celu.
We właściwościach tabeli wyświetlonych poniżej przypisz
wartość  True właściwości Identity, dzięki czemu ContactID
stanie się kolumną identyfikującą rekordy.
Nie zapomnij także wpisać nazwy tabeli,  People ,
w polu Name u góry okna.
W tum oknie definiujesz swoją
tabelą i dane, które będzie
przechowywata.
Klucz gtówny
(ang. primary key)
c
pomaga bazie danych
szybko odnajdywać
rekordy. Ponieważ
je s t on podstawowym
narzędziem, którego
program będzie używat
do odnajdywania
rekordów w bazie,
zatem jego wartość
zawsze musi być
określona.
Dzięki temu
pole ContactID
aktualizuje się
automatycznie za
każdym razem,
gdy je s t dodawany
t bU l 7 C y f ontactID M o identyfikator rekordów
Ł
nowy rekord.
w tabeli, będziesz musiat kliknąć w prawej
jesteś tutaj % 61
Rozpocznijmy dyskusję
Pola na karcie kontaktowej stają się
kolumnami w tabeli People
Teraz, kiedy już utworzyłeś klucz główny tabeli, potrzebujesz
zdefiniować pozostałe pola, które zamierzasz przechowywać w bazie
danych. Każda rubryka w naszej pisanej karcie kontaktowej musi mieć
swój odpowiednik w postaci kolumny tabeli People.
Nazwa: Leokadia Kowalska
Firma: Balonexsp. z o.o.
Telefon: (11) 9853752
E-mail: l.kowalska@balonex.com.pl
Klient: Tak Ostatni kontakt: 10.07.2010
Każde pole na karcie
Dla każdej osoby chcemy
adresowej musi mieć
przechowywać następujące informacje:
nazwę kontaktu, nazwę firmy, numer swój odpowiednik
telefonu, adres e-mail, wartość w tabeli People,
określającą, czy je s t to klient firmu,
oraz datę ostatniego kontaktu
telefonicznego.
r-<^b W Y S I L ________
S Z A R E K O M Ó R K I
Jakie problemy mogą wyniknąć z przechowywania wielu rekordów
dotyczących tej samej osoby?
62 Rozdzielił*
Zwiększ wydajność za pomocq C#
Ą
Ą
KTO CO ROBI?
Teraz, kiedy stworzyłeś tabelę People oraz kolumnę z kluczem głównym, musisz dodać kolumny dla wszystkich pozostałych
pól danych. Zobaczmy, czy potrafisz dopasować określone dane do odpowiedniej kolumny w tabeli oraz dobrać opis
właściwy dla ich typu.
Nazwa kolumny Typ danych Opis
LastCall Ten typ przechowuje datę
i godzinę
int
Wartość logiczna true/false
Name
bit
Aańcuch liter, cyfr lub innych
ContactID
symboli o maksymalnej
długości 100 znaków
nvarchai-(100)
Liczba całkowita
Client?
datetime
jesteś tutaj % 63
To jest mój typ
*
*
KTO C f ROBI? ---------------------------
m Rmwiąmme
Teraz, kiedy stworzyłeś tabelę People oraz kolumnę z kluczem głównym, musisz dodać kolumny dla wszystkich pozostałych
pól danych. Zobaczmy, czy potrafisz dopasować określone dane do odpowiedniej kolumny w tabeli oraz dobrać opis
właściwy dla ich typu.
Typ danych Opis
Nazwa kolumny
Ten typ przechowuje datę
LastCall
i godzinę
Wartość logiczna true/false
Name
Aańcuch liter, cyfr lub innych
ContactID
symboli o maksymalnej
długości 100 znaków
Client?
Liczba całkowita
64 Rozdziali.
Zwiększ wydajność za pomocą C#
Obiekty Obiekty Pamięć Paczka
Zakończ tworzenie tabeli
Wróć do miejsca, gdzie wpisywałeś nazwę kolumny
ContactID, i dodaj sześć pozostałych kolumn z karty
kontaktowej. Tak oto powinna wyglądać tabela bazy
danych, kiedy skończysz:
Jesteś tutaj
Jeżeli usuniesz
zaznaczenie pola
Allow Nulls, kolumna
będzie musiata
posiadać wartość.
Pola bitowe
i
przechowują
wartości True lub Niektóre karty mogą
False i mogą być
zawierać niepetne
reprezentowane informacje, więc
przez kontrolkę niektóre kolumny
Check&ox. pozostaną puste.
Kliknij przycisk OK, aby zapisać swoją nową tabelę. W ten sposób nowa
pusta tabela zostanie dodana do bazy danych.
Po kliknięciu P ^ is*ah5 *
yisuai Studio doda tabelę
people do bazy danych.
c S S S = , .
danych. wPl$ywania
jesteś tutaj % 65
%
Wstawiając dane
Wstaw dane z kart do bazy
Teraz jesteś już gotowy do wstawienia danych z kart do bazy.
Mamy tutaj kilka kontaktów szefa  użyjemy ich do przygotowania
wstępnej bazy danych zawierającej kilka rekordów.
DutabaseAplwer " ( X Form łxs
lc
,
a yp Data Connecttons
* lit? ContaetDELsdf
W oknie Database Explorer
s lM Tables
Twoim zadaniem je st
(lub Sewer Explorer) rozwiń wpisanie danych z tych
sześciu kart do tabeli
element Tables, kliknij tabelę
People.
People prawym przyciskiem myszy
i wybierz Show Table Data.
(2) Gdy na głównym ekranie pojawi
się tabela, wpisz do niej wszystkie
poniższe dane. (Na początku będą
tam same wartości nuli, ale nie Nazwa- Leszek Jawczyk
przejmuj się. Zapełnij pierwszy rząd
Firma: EkstraLans S.A-
Wpisz True lub False
prawidłowymi danymi, ignorując
w kofumnie Client.
Telefon: 02M2345Ó7
ostrzeżenia pokazujące się obok
To w tej postaci i>QL.
przechowuje wartości
nich). Nie musisz uzupełniać
E-mail'- leszeki@eisa.pl
typa J a k  lub  Nie .
kolumny ContactID, bo zostanie
to zrobione automatycznie. m ient: Tak O statni
Nazwa: Krystyna Bryczewska \
Firma: Dom Wydawniczy B ry c z e h ^ J"!
Nazwa: Eliza Wizewska
Telefon: (48) 8721723
Firma: EWAR.
E-mail:/:. bryczewska@bryczewska.pl
Telefon: (11) 1928375
Klient: Tak Ostatni kontakt: 21.07.2010
E-mail: eliza_wizewska@ewat.org
Klient: Tak Ostatni kontakt: 30.08.2009
66 Rozdziali.
Zwiększ wydajność za pomocq C#
Nazwa: Sabina Komar / \
Papiernia ObielJbwo
Nazwa: Franciszek Majewski ( \
Firma: NWOPromo "
Papiernia O b ie jo w
Firma: Agencja Reklamowa HRM
Telefon: (11)5352510
Telefon: (33) 1817161
E-mail: sabina@nwop.org.pl
E-mail: francek.majewski@hrm.com.pl
Klient: Tak Ostatni kontakt: 18.07.2010
Klient: Tak Ostatni kontakt: 17.12.2010
: Leokadia Kowalska
firma Papiernia Obiektowo znajduje ^
Firma: Balonex sp. z o.o.
się w Polsce, zatem dyrektor wpisuje
datu w postaci 21.05.2010, gdzie 05
Telefon: (11)9853752
oznacza miesiąc maj. Jeśli system
zostat skonfigurowany dla innego
E-mail: l.kowalska@balonex.com.pl
kraju, być może, że daty trzeba ^
będzie wpisywać w innym formacie,
Klient: Tak Ostatni kontakt: 10.07.2010
na przyktad 05/26/10.
Po wpisaniu sześciu rekordów
wybierz po raz kolejny Save Ali
z menu File. Powinno
Save Ali nakazuje IDE zapisać ^
wszystko to, co należy do aplikacji.
to zaowocować zapisaniem
Tum różni się od zwykłego Savef
ich wszystkich w bazie.
zapisującego tylko plik, nad którym
w danej chwili się pracuje.
i Niejstnieja.
głupie pytania----------------------
( P : Co się dzieje z danymi po tym, jak je wpisałem?
(P : Dobrze, wpisałem te sześć rekordów. Czy one będą
Gdzie one idą?
częścią mojego programu na zawsze?
U : IDE automatycznie zapisuje wprowadzone wartości
U : Tak, będą one integralną częścią tak samo jak kod, który
w tabeli People w bazie danych. Tabela  jej kolumny, typy
napisałeś, i formularz, który zaprojektowałeś. Różnica polega
i wszystkie dane jej dotyczące  przechowywana jest
na tym, że baza nie jest kompilowana do postaci programu
w pliku ContactDB.sdf SQL Server Compact. Plik ten jest
wykonywalnego. Jej plik jest kopiowany i przechowywany
integralną częścią projektu i IDE aktualizuje go podczas jego
razem z plikiem wykonywalnym. Gdy aplikacja potrzebuje
zmiany tak jak każdy inny plik z kodem.
dostępu do danych, wykonuje szereg operacji odczytu
i zapisu na pliku ContactDB.sdf znajdującym się w jej
katalogu wyjściowym.
Ten plik je s t w rzeczywistości
bazą danych SQL i Twój program
może go używać za pomocą kodu
wygenerowanego dla Ciebie
przez IDE,
ContactDB.sdf
jesteś tutaj % 67
Wszystkie dane sq tutaj
Połącz formularz z bazą danych,
korzystając ze zródeł danych
Nareszcie jesteśmy gotowi do utworzenia obiektów .NET, które będą wykorzystywane
przez formularz do integracji z bazą danych. Potrzebujemy zródła danych, które
w rzeczywistości będzie kolekcją instrukcji SQL używanych do wymiany informacji
pomiędzy formularzem a bazą ContactDB.
Kiedy ju ż skończysz
wprowadzać dane,
O Przejdz z powrotem do formularza aplikacji.
zamknij okno danych,
Zamknij tabelę Peopie i diagram bazy danych ContactDB.
by wrócić do formularza.
Powinieneś w tej chwili widzieć zakładkę Forml.cs [Design].
Peopie: Q u efy (C :\lL , kty\ContactDB,sdfC X
ContactID Name Com pany Telephone Email Client LastCall
1 Leokadia Kowal,,. Balonem sp. z o.. (11)9853752 Lkow alska@ baL, Troe 2010-07-10 00:00:00
2 Leszek Jawczyk Ekstralans S.A. (12) 1234567 Ieszekj@ei_sa.pl Trye 2010-01-12 00:00:00
3 Krystyna Brycze... Dom W ydaw ni,, 148)8721723 k.byrczewska.,. I r y e 2010-07-21 00:00:00
11) 1328375 efea_wizewska... Trye 2009-08-30 00:00:00
4 Eliza Wszewska EWAR Ł
5 Franciszek M aje... A gencja Rekfa.., (33) 1817161 francek.m ajews... T rye 2010-12-17 00:00:00
6 Sabina Komar MWOPromo d l ) 5352510 sabina@nwop,.., True 2010-07-1 8 0 0 :00:00
%* NULL w m NULL NULL NULL NULL M A Ł
Dodaj nowe zródło danych do aplikacji.
W tej chwili powinno to być proste. Kliknij menu Data,
a następnie wybierz z rozwiniętej listy Add New Data Source...
|ż| Kontakty - Microsoft Visual C# 2010 Express (Administrator):
File Edrt Project BuM Debug Data j Format Wmdow
! : j | K f j H l i 1 * ?j S3 sh Sources
; p}::j la i ) g ^ iUt:r o ś g j 3 PrK *'Da,s-
|
^ Add New Data Source.,
yródto danych, które
tworzysz, będzie obstugiwato
ca tą komunikację pomiędzy
i j l Data Connectbns
formularzem i bazą danych.
^ Oj. ContactDB.sdf
J S| Tables
Ł3 Repiication
68 Rozdziali,
Zwiększ wydajność za pomocq C#
Obiekty Obiekty Pamięć Paczka
wizualne MEJ bazy danych \ bazy danych instalatora
I .NET
\
V
O Skonfiguruj zrócHo danych.
Teraz musisz dostosować zródło danych, aby używało bazy
ContactDB. Poniżej opisano czynności, które w tym celu
powinieneś wykonać:
f& Krok 1.: Wybierz Database i kliknij przycisk Next.
f& Krok 2.: Wybierz Dataset i kliknij przycisk Next.
f& Krok 3.: Wybierz połączenie z bazą danych.
Na rozwijalnej liście powinieneś już zobaczyć
połączenie ze swoją bazą. Kliknij przycisk Next.
Przejście przez poszczególne
etapy pozwala na potączenie
f& Krok 4.: Na ekranie  Choose Your Objects zaznacz
zródta danych z tabelą Peopfe
w bazie danych ContactDB.
pole wyboru przy elemencie Tables.
f& Upewnij się, że w polu DataSet Name
wpisane jest  ContactDBDataSet , i kliknij Finish.
W wersjach Visual Studio innuch niż
n n t T 3 zosfani.?tSz poproszony o zapisanie
połączenia w pliku konfiguracujnum
aplikacji. Kliknij przycisk  Yes .
Teraz Twój formularz może używać
zródta danych do interakcji z bazą
danych ContactDB.
H Form l
" O "
ContactPBPataSet.xsd
O programie
m
Lista kontaktów v ł.O ..
Autor Twoje imię
ContactPB.sdf
Ten plik to Twoja baza danych.
ContactPBPataSet.
To je s t Twój formularz.
Pesigner.cs
Te pliki zostaty
wygenerowane przez zródto
danych, które wtaśnie
skonfigurowałeś.
jesteś tutaj % 69
Połącz to ze sobą
Dodaj kontrolki powiązane z bazą danych
do formularza
Wymaga to nieco wysitku, ale
Teraz możemy powrócić do naszego formularza i dodać kilka kontrolek.
wracamy tutaj, aby utworzyć
obiekty formularza, które będą
Nie będą to jednak zwykłe kontrolki, tylko takie, które będą powiązane
współpracować z bazą danych.
z naszą bazą danych i kolumnami w tabeli People. Oznacza to, że każda
zmiana danych w jednej z nich pociągnie za sobą automatyczną zmianę
informacji w odpowiedniej kolumnie bazy danych.
A oto sposób na utworzenie kilku kontrolek powiązanych z bazą danych:
Jeżeli nie widzisz tej
zaktadki, wybierz Show
O Wybierz zródło danych, którego chcesz używać.
Data Sources z menu Data.
Wybierz Show Data Sources z menu Data. Spowoduje
to pojawienie się okna Data Sources z wyświetlonymi
zródłami danych skonfigurowanymi dla tej aplikacji.
Możesz także
poszukać zakładki
Data Sources w dolne
części okna Database
f
Explorer. a następnie
lanych. ^ t4T L T ^ r Twjezródta

tylko jedno, T *
ją kliknąć.
h hczby dla 'nnych tabel lub baz danych.
Wybierz tabelę People.
Pod elementem ContactDBDataSet powinieneś zobaczyć tabelę People i wszystkie jej kolumny. Kliknij
strzałkę widoczną obok nazwy tabeli, aby wyświetlić jej zawartość  w ten sposób zobaczysz wszystkie
kolumny dodane wcześniej. Kiedy w oknie Data Sources klikniesz tabelę People i przeciągniesz ją
na formularz, IDE automatycznie doda do niego kontrolki, dzięki którym użytkownik będzie mógł
przeglądać dane oraz je wpisywać. Domyślnie IDE dodaje kontrolkę DataGńdView, przypominającą nieco
okno arkusza kalkulacyjnego. Aby dodać do formularza osobne pola dla poszczególnych kolumn tabeli,
kliknij strzałkę widoczną z jej prawej strony i z wyświetlonego menu wybierz opcję Details.
Kliknij tę strzatkę i wybierz opcję Details, aby
kazać IDE dodać do formularza osobne kontrolki
dla poszczególnych kolumn, a nie jedną dużą
kontrolkę przypominającą arkusz kalkulacyjny.
f
Tutaj powinny zostać
Tę rozwijalną listę zobaczysz wyłącznie
wyświetlone wszystkie
w przypadku, gdy otworzone je s t okno
utworzone wcześniej
do projektowania formularzy. Pozwala ono
kolumny tabeli.
na bezpośrednie przeciągnięcie kontrolek
danych z okna zródta danych i umieszczenie
ich na formularzu.
70 Rozdział 1.
Zwiększ wydajność za pomocq C#
Obiekty Obiekty Pamięć Paczka
wizualne ,NET bazy danych bazy danych instalatora
.NET
U
t
Jesteś tutaj
Utwórz kontrolki powiązane z tabelq People.
O
Przeciągnij i upuść tabelę People na formularz. Powinieneś
zobaczyć wstawione kontrolki odpowiadające każdej
kolumnie bazy danych. Nie przejmuj się w tej chwili ich
wyglądem, tylko upewnij się, że wszystkie pojawiły się
na formularzu.
Jeżeli coś przypadkowo kliknąłeś i z ekranu zniknął formularz,
zawsze możesz do tego widoku powrócić, wybierając zakładkę
Form1.cs [Design], lub otworzyć Form1.cs z okna Solution Explorer.
IDE tworzy
Forml.cs ^Design]* X |
ten pasek
narzędzi
-o r i a?
do nawigacji
%n * y
po tabeli
People. [.'. C l
% S t j i
1
Kiedy przeciągnąłeś
tabelę People
na formularz, dla każdej
-B
Te elementy
jej kolumny zostały
Comp ary
nie będą
utworzone odpowiednie
Tetephone:
wyświetlane
kontrolki.
Bnai:
na formularzu,
Oent: 3 check8ax1
ale będą
reprezentowały
LastCaii: 2S września 2010
kod, który zostat
utworzony
przez IDE
do zarządzania
%ą3 eon tac tDBDataSet W peopteBindingSourcepeopleTshieAdaptefXIiayeAdapterManag*r
tabelą People ' ^
oraz bazą danych
ContactDB.
4 -
Obiekt
peopleBindingNavigator
Ten obiekt łączy
łączy kontrolki paska
formularz z tabelą People Ten adapter pozwala
narzędzi z tabelą
bazy danych.
kontrolkom wykorzystywać
bazy danych.
wyrażenia SQL, które
IDE oraz zródło danych
wcześniej wygenerowały.
jesteś tutaj % 71
Upiększ to
Dobre programy sż intuicyjne w użyciu
Nazwa: Leokadia Kowalsko f \
Firma: Balonex sp z o.o. P\^lab w
a n^ o
Co prawda formularz teraz działa, ale nie wygląda dobrze.
Nasz formularz
Twoja aplikacja musi być więcej niż tylko funkcjonalna.
Telefon: (11)9853752
byfby intuicyjny,
Powinna być łatwa w użyciu. Dzieli Cię zaledwie kilka etapów
gdyby wyglądał E-mail: Lkowabka@balonex.com.pl
od osiągnięcia wyglądu formularza zbliżonego do wyglądu
jak karta
Klient: Tak Ostatni kontakt: 10.07.2010
kontaktowa.
papierowych kart, których używaliśmy na początku
niniejszego rozdziału.
(T) Wyrównaj etykiety i pola tekstowe.
Wyrównaj etykiety i pola tekstowe względem lewej krawędzi
formularza. Będzie on wyglądał podobnie do innych aplikacji,
a użytkownicy będą czuli się znacznie bardziej komfortowo podczas
korzystania z programu. Przetłumacz angielskie treści etykiet
powstałych automatycznie na podstawie nazw kolumn z tabeli People.
4? Forml
H 4 0 of {} % H ! # x y
0
iD kontaktu:
Nazwa:
Podczas przeciągania
Rrma:
kontrolek na
Telefon:
formularzu będą
pojawiaty sią
Email:
niebieskie linie. Ą%... ....................o................... (Bo
Klient: S ą one po to, aby
O . O ...........Ó
utatwić wyrównywanie
Ostatni kontakt: ; 7 stycznia 2011 ź%
poszczególnych
elementów interfejsu.
(2) Zmień właściwość Text kontrolki CheckBox.
Podczas wstawiania kontrolek do formularza obok kontrolki CheckBox pojawia się
etykieta, która musi zostać usunięta. Po prawej stronie, pod oknem Solution Explorer,
powinieneś dostrzec okno Properties. Przewiń jego zawartość w dół aż do napotkania
właściwości Text. Usuń fragment  checkBoxl .
nn
Properttes w J
dientCheckBox System.Wftidows.Forms.CbeckBox
RightToleft No
f Usuń ten napis,
r> Size 200; 24
aby pozbyć się tekstu
Tablnde* 14
TabStcsp True
z kontrolki CheckBox.
1||| Tg
a
TesetAiign
T ejctlmageRetetksn i Overtay
ThreeState j Faise
UseCompatibieTertRenctermę False
UseMnemonic True
.. .UeVsuatS #a I
s t MBęfcę.s!....Trae
72 Rozdział 1.
Zwiększ wydajność za pomocę C#
Obiekty Obiekty Pamięć Paczka
wizualne .NET bazy danych bazy danych instalatora
j,NET
Jesteś tutaj
. -
\\ J j
Nadaj aplikacji profesjonalny wygląd.
Możesz także zmienić nazwę formularza. Dokonasz tego
poprzez kliknięcie w jego dowolnym pustym miejscu
i odnalezienie właściwości Text w oknie Properties. Dla naszych
Powodem, dla którego chcesz
potrzeb zmień nazwę na  Papiernia Obiektowo  Lista
usunąć przycisk maksymalizacji,
kontaktów .
je s t to, że nie zmienia ona pozucji
kontrolek na formularzu. Pusta
przestrzeń sprawia, że wuolada
Możesz także, w tym samym oknie, wyłączyć przyciski
on dość dziwnie.
do minimalizacji i maksymalizacji. W tym celu poszukaj
właściwości MaximizeBox oraz MinimizeBox i ustaw
ich wartości na False.
Forml Sys*em.W(rvdow$Jcfmi.Fofm
Okno Properties
= " * -j " ; "
Showkon True
powinno się
ShowInTłskbjf True
znajdować zaraz
Seze 351; 233
pod oknem Solution SizeGripStyle Auto
StartPosrtion WindewsDefaultLccatii
Explorer, w dolnej
T9 -------- Właściwość Text określa
*
Text f Papiernia Obiektowo
części prawego
TopMost ... tekst wyświetlany
panelu IDE. Trarsparer>cyKey | |
na pasku tytuto wym
UseWaitCureor False
WindowState Ncfma! formularza.
Text
The test SASociatesJ vwth the cę-ntfc!,
Jeżeli nie masz okna Properties, to możesz je uaktywnić,
wybierając odpowiednią pozycję z menu View.
Dobra aplikacja to nie tylko taka, która działa,
ale taka, która jest także łatwa w użyciu.
Dobrym zwyczajem programisty jest upewnienie się,
że aplikacja zachowuje się dokładnie tak,
jak spodziewałby się tego przeciętny użytkownik.
jesteś tutaj % 73
Dobra, jeszcze jedno rzecz..
Jazda próbna
Pozostała nam do zrobienia tylko jedna rzecz: uruchomić program
i sprawdzić, czy wszystko działa tak, jak powinno. Zrób to tak samo jak
Naciśnij ten X w rogu,
do tej pory  naciśnij klawisz F5 na klawiaturze albo kliknij w przycisk
aby zamknąć program.
W ten sposób możesz
z zieloną strzałką ( p ) na pasku narzędzi (lub wybierz Run z menu Debug).
przejść do następnego etapu.
Możesz uruchomić swój program w każdej chwili, nawet jeśli nie jest jeszcze
skończony. Jeżeli w kodzie są błędy, to IDE Ci o tym przypomni i wstrzyma
wykonywanie programu.
a j Papiernia Obiektowo - Lista kontaktów UELUIEj
Te kontrolki
H 4
pozwalają przeglądać
kolejne rekordy ^
zapisane w bazie ID kontaktu: |
Budowanie
Pa jjL m la O
danych.
Nazwa: Leokadia Kowalska
programu
Firma: Babne& sp. z o.o.
nadpisuje dane
Telefon (11)9853752
w bazie.
Email: I .kowalska @batonex.com .pl
Klient: 0 Ostatni kontakt: TO lipca 2010
Poświęcimy na to więcej
czasu w następnym
rozdziale.
Za każdym razem,
gdy budujesz program,
IDE najpierw buduje, potem wykonuje.
IDE umieszcza
Kiedy uruchamiasz swoją aplikację, IDE właściwie robi dwie rzeczy. w katalogu bin nową
Najpierw buduje program, a następnie go wykonuje. Proces ten składa kopię bazy danych. Oznacza
się z kilku niezależnych części. IDE kompiluje kod i zamienia go to utratę wszelkich danych
na postać wykonywalną. W następnej kolejności umieszcza skompilowany zapisanych w niej podczas
kod razem z zasobami i innymi plikami w podkatalogu katalogu bin. wcześniejszego uruchomienia
programu.
W tym przypadku plik wykonywalny oraz baza danych SQL znajdą się
Jeśli kod programu się zmienił, to próba
w katalogu binIdebug. Plik bazodanowy jest kopiowany za każdym razem,
debugowania go z poziomu IDE powoduje jego
więc zmiany wprowadzone w trakcie pracy z IDE zostaną utracone.
ponowne zbudowanie  to z kolei oznacza,
Jeżeli plik wykonywalny będzie uruchamiany bezpośrednio z poziomu
że czasami uruchomienie programu z poziomu
systemu Windows, dane zostaną zachowane  chyba że, po raz kolejny,
IDE spowoduje nadpisanie wcześniejszej
projekt zostanie zbudowany przy użyciu IDE. W takim przypadku IDE zawartości bazy. Jeślijednak uruchomisz swój
program bezpośrednio z katalogu bin/debug,
nadpisze bazę danych SQL nową kopią zawierającą dane skonfigurowane
bądzjeśli użyjesz instalatora, by go zainstalować
przy pomocy okna Database Explorer.
na swoim komputerze, to problem utraty
danych nie wystąpi.
74 Rozdziali.
Zwiększ wydajność za pomocq C#
Obiekty Obiekty Pamięć Paczka
Jak zamienić TWOJ aplikację
wizuafne.NET bazy danych iF f * - bazy danych instalatora
I .NET g S g T *
\
w aplikację W SZYSTKICH
W
-M % I


W tym momencie posiadasz wspaniały program. Problem polega na
tym, że działa on tylko na Twoim komputerze. Oznacza to, że nikt *** | ^ . y
inny go nie będzie używał, nikt Ci za niego nie zapłaci, nikt nie ^
zobaczy, jak wspaniałym programistą jesteś, i nikt Cię nie zatrudni... Jesteś tutaj
a Twój szef i klienci nie dostaną raportów generowanych z bazy
danych.
C # znacznie ułatwia przeprowadzenie procesu wdrożenia.
Wdrożenie aplikacji to zainstalowanie jej na innych komputerach.
Z pomocą Visual C # IDE przygotowanie sprowadza się
do dwóch etapów.
Budowanie projektu
Wybierz Publish Kontakty
^ Kontakty - Microsoft Vśsal Ź # 2010 Łxpress (Administrator)
powoduje kopiowanie
z menu Project. Build | Bebug Data Format Tmte
plików na komputer
iutŚdSolutbn m
lokalny. Opcja Publish
Rebuild Solsitkm
tworzy instalacyjny
Pubbsh Kontakty plik wykonywalny wraz
: z plikiem konfiguracyjnym,
--------1
aby inni użytkownicy także
mogli zainstalować Twój
program.
Zaakceptuj wszystkie domyślne
wartości w oknie Publish Wizard

poprzez naciśnięcie przycisku
Finish. Zobaczysz, jak Twoja
aplikacja będzie pakowana,
Ąou may publish the spptkaticn to s web sste, FTP server, or fite path.
a następnie ujrzysz folder,
Aramples;
Disk path: c:\depicry\myappiicatton
w którym znajdzie się plik
File share \\servef\myappikation
FTP serven ftp://ftp.mkrosoft.corn/my3pplk3tion
setup.exe.
Web srte http://www.mtaosoft.com/my3pplicatiorł
Jeśli używasz Visual Studio
w wersji Łxpress, to opcję
Publish znajdziesz w menu
Project; w innych wersjach
VS została ona umieszczona
w menu Build.
jesteś tutaj % 75
Dziel się miłością
Przekaż aplikację innym użytkownikom
Z chwilą utworzenia paczki instalacyjnej utworzony został także folder
publishl. Katalog zawiera kilka składników, a wszystkie związane są
z procesem instalacji. Najważniejszym dla użytkowników jest setup,
czyli program, który pozwoli im zainstalować Twoją aplikację na ich
własnych komputerach.
To je st miejsce, gdzie
są przechowywać
wszystkie pomocnicze
pliki instalatora.
Być może
będziesz
musiał
uruchamiać
program instalacyjny
W ten sposób
/
z prawami administratora.
użytkownicy Twojego
Ten plik udziela <
programu będą go
instalatorowi wszelkich
Jeśli no komputerze nie jest jeszcze
instalować na swoich
informacji na temat tego,
komputerach!
zainstalowany SQL Sewer Compact, kfdre plik? powinny zostać
dotączone do programu
to wygenerowany program
podczas instalacji.
instalacyjny spróbuje go pobrać
i zainstalować. Na niektórych
komputerach operacji tych nie da się
wykonać, jeśli program nie zostanie
uruchomiony przez użytkownika
Moja sekretarka właśnie mi powiedz-iała.,
z prawami administratora, dlatego
ż.e skończyłeś pisać nową baz.ę kontaktową
też kliknijjego ikonę prawym
.i ie wsz.ystko już. dz.iała. Pakuj swoje waliz.ki
przyciskiem myszy i z menu
 mamy miejsce w odrzutowcu do Aspen dla
podręcznego wybierz opcję
takiego pomysłowego pracownika jak Ty!
 Uruchom jako administrator".
Jeśli nie masz do niej dostępu,
to nie musisz się tym przejmować
 i bez niej możesz kontynuować
lekturę tej książki.
Wudam się, że szef je st zadowolony.
Dobra robota! Jednak zanim potec.sz
szu sow ać na stokach, pozostaje
jeszcze jedna rzecz do zrobienia...
76 Rozdziali,
Zwiększ wydajność za pomocq C#
Obiekty Obiekty Pamięć Paczka
Jeszcze nie skończyłeś:
wizualne .NET bazy danych*/ bazy danych instalatora
| .NET
\
przetestuj instalację
W 
' %
J
Zanim zaczniesz strzelać korkami od szampana, musisz przetestować
% .. { j ......
wdrożenie i instalację. Nie dasz chyba nikomu swojego programu,
s s * . Oc, J
f
dopóki sam go nie wypróbujesz?
Jesteś tutaj
Zamknij Visual Studio IDE. Uruchom program instalacyjny
i wybierz katalog na swoim komputerze, w którym chcesz umieścić
aplikację. Następnie uruchom program z podanej lokalizacji
i upewnij się, że działa dokładnie tak, jak sobie wyobrażałeś. Możesz
także dodać lub zmodyfikować kilka rekordów. Zostaną one
oczywiście zapisane w bazie danych.
Teraz- mozesz dodawać,
t
zm em ać i usuwać rekordu.
Wszystko to zostanie zapisane
bazie danych. F
j
CZ3
ip Papiernia Obiektowo - Lista kontaktów
Możesz używać
strzatek i pola of e % h 4> x y
M 4 i l
tekstowego do
poruszania się
10 kontaktu: i
pomiędzy rekordami.
r \
Nazwa: Leokadia Kowalska
Rrma: 8ażonexsp. z o.o.
Telefon: {11)8853752
Email: I .kowalska @batenex.com .pl
Nie bój się--
Klient: Q\ Ostatni kort akt: ^ ^Pca
Wprowadz kilka
zmian. Aplikacja
jest zainstalowana,
Znajdziesz tu wszystkie
więc tym razem dane wpisane wcześniej
kontakty. Są one zapisane
nie zginą.
w pliku bazy danych
~~ ContactDB.sdf - który
zostat zainstalowany wraz
z Twoim programem.
TESTlJ) WSZYSTKO!
Przetestuj swój program,
przetestuj swoj^ instalację,
sprawdz dane w swojej aplikacji.
jesteś tutaj % 77
Superszybko
Obiekty Obiekty Pamięć Paczka
Otworzyłeś pełnowartościową wizualne.NET bazy danych bazy danych instalatora
M E T 1 Poleceń* INER ją ^ g \
S T
" l i t I | PolecemUDTfr; Tab*U
e P A
aplikację bazodanową
Dzięki Visual Studio IDE stworzenie aplikacji
Windows, zaprojektowanie i utworzenie bazy danych
oraz połączenie ich w jedną zgrabną całość jest
dość proste. Możesz nawet wygenerować program
instalacyjny za pomocą zaledwie kilku kliknięć.
Od tego
d J Papiernia Ohś4rtawn - ikta kontaktów ' ^ ' H S H l
of 6 1 % n ; < % x y
*
M i \ i
Nazwa: Leokadia Kowalska
ID kontaktu:
ł  - i
-
Firma: Balonex sp. z o.o.
Nazwa: J Leokadia Kowalska ::, j r
Firma: Balonex sp z o.o.
Telefon: (11) 9853752
tego
E-mail: l.kowalska@balonex.com.pl Telefon: fl 1) 9853752
Email: i .kowalska@3slonesc.corn .pl
Klient: Tak Ostatni kontakt: 10.07.2010
Ostatni kontakt: ^
Pca w
w mgnieniu oka.
Siła Visual C# polega na tym, że możesz
szybko utworzyć cos działającego,
a następnie skupić się na tym, co rzeczywiście
Twój program powinien robić... a nie
na oprogramowywaniu licznych okien,
przycisków i zestawu instrukcji SQL.
i *8
4


Wyszukiwarka

Podobne podstrony:
IE RS lab 14 solutions
Układy napędowe lab 14 15 ver3
elektro lab 14
IE RS lab 14 diagram
IE RS lab 14 overview
lab zima 13 14
LAB AR zima 13 14
14 3 2 Lab Share Printer Scanner
14 3 2 Lab Share Printer Scanner in Windows 7
14 6 5 Lab Fix Printer
instrukcja do lab mioc mechanika sem 3 blachy karoseryjne 14
14 6 3 Lab Troubleshooting Printer Problems in Windows 7
T 14
Rzym 5 w 12,14 CZY WIERZYSZ EWOLUCJI

więcej podobnych podstron