You are on page 1of 16

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

Delphi 7 i bazy danych

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

Autor: Marian Wybraczyk


ISBN: 83-7361-129-0
Format: B5, stron: 240
Zawiera CD-ROM

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Borland Delphi to jedno z najpopularniejszych narzdzi sucych do szybkiego


tworzenia aplikacji bazodanowych. Uywajc Delphi nie tylko w prosty sposb
poczysz si z wieloma systemami zarzdzania relacyjnymi bazami danych,
ale take szybko stworzysz elegancki i wygodny interfejs, pozwalajcy kocowemu
uytkownikowi na dostp do danych. Wanie std wzia si ogromna popularno
Delphi przy pisaniu aplikacji bazodanowych klient-serwer.
Ksika przedstawia zarwno rozmaite systemy bazodanowe, z jakimi mona spotka
si w praktyce programistycznej (w tym m.in. InterBase, MS Access, MS SQL Server
2000 i MySQL) jak te i podstawowe komponenty wspomagajce z poziomu Delphi 7
zarzdzanie danymi. Przeledzisz proces tworzenia bazy danych, modelowania jej
struktury i sposobw korzystania z danych w niej zawartych z poziomu Delphi.
Poznasz:
Podstawowe informacje na temat baz danych i jzyka SQL
Narzdzia wspomagajce tworzenie i modyfikacj bazy danych
MS Access i interfejs ODBC
InterBase i interfejs IBX
MS SQL Server 2000 i interfejs ADO
MySQL i narzdzie dbExpress
Metody korzystania z BDE
DataSnap i tworzenie aplikacji w architekturze trjwarstwowej
Zasady pisania wasnych komponentw
Jeli zamierzasz pisa w Delphi, wczeniej czy pniej staniesz przed koniecznoci
skorzystania z systemu bazodanowego. Kupujce t ksik moesz by pewien,
e aden z tych systemw nie zaskoczy Ci i nie przeronie Twoich umiejtnoci.

Spis treci
Wstp ............................................................................................... 7
Rozdzia 1. Przykadowa baza danych................................................................... 9
Analiza problemu ................................................................................................................9
Model bazy danych ...........................................................................................................10
Uwagi na temat implementacji..........................................................................................14
Podsumowanie ..................................................................................................................16

Rozdzia 2. Elementy SQL .................................................................................. 17


SQL co to jest? .............................................................................................................17
Baza danych ................................................................................................................18
Tabele..........................................................................................................................18
Select...........................................................................................................................21
Klucz gwny (primary key).......................................................................................23
Klucz obcy (foreign key) i integralno referencyjna.................................................24
Warto NULL............................................................................................................26
Domena .......................................................................................................................27
Indeksy........................................................................................................................29
Widoki (perspektywy) ................................................................................................30
Wyzwalacze i generatory............................................................................................32
Procedury ....................................................................................................................34
Transakcje ...................................................................................................................35

Rozdzia 3. Narzdzia wspomagajce tworzenie i modyfikacj bazy danych.......... 37


Database Desktop..............................................................................................................37
Datapump ..........................................................................................................................41
Konfiguracja ODBC ...................................................................................................41
Konfiguracja BDE ......................................................................................................43

Rozdzia 4. MS Access i ODBC .......................................................................... 47


Tworzymy baz danych w MS Access .............................................................................47
Tabele..........................................................................................................................47
Relacje.........................................................................................................................50
Kwerendy....................................................................................................................50
Formularze ..................................................................................................................52

Delphi 7 i bazy danych


ODBC i MS Access ..........................................................................................................53
czymy si z MS Access poprzez ODBC.................................................................57
ODBC i XBase ..................................................................................................................58
Podsumowanie ..................................................................................................................61

Rozdzia 5. InterBase i IBX ................................................................................ 63


IBConsole..........................................................................................................................64
Interactive SQL .................................................................................................................72
Backup...............................................................................................................................77
Restore...............................................................................................................................79
Uytkownicy i uprawnienia ..............................................................................................80
IBX ....................................................................................................................................83
Poczenie z InterBase ................................................................................................84
Monitorowanie bazy danych InterBase...........................................................................108
Odinstalowanie serwera InterBase ..................................................................................109
Podsumowanie ................................................................................................................109

Rozdzia 6. MS SQL Server 2000 i ADO............................................................ 111


Wstp...............................................................................................................................111
MS SQL Server 2000 ......................................................................................................112
Tworzymy baz danych ..................................................................................................112
Poczenie z baz danych................................................................................................115
ADOConnection .......................................................................................................116
ADOCommand .........................................................................................................118
ADOTable, ADOQuery, ADOStoredProc................................................................120
ADODataSet .............................................................................................................121
ADO i Transakcje .....................................................................................................124
Motor JET .................................................................................................................126
Podsumowanie ................................................................................................................128

Rozdzia 7. MySQL i dbExpress ........................................................................ 129


Wstp...............................................................................................................................129
MySQL uruchomienie serwera .......................................................................................130
Uytkownicy i uprawnienia ............................................................................................132
Zmiana hasa administratora .....................................................................................132
Inni uytkownicy ......................................................................................................133
Definiowanie uytkownika .......................................................................................133
Minimum uprawnie.................................................................................................133
Tworzenie bazy danych...................................................................................................135
Usuwanie bazy danych....................................................................................................135
Tworzenie tabel ...............................................................................................................136
dbExpress ........................................................................................................................137
SQLConnection.........................................................................................................139
SQLDataSet ..............................................................................................................141
Transakcje .......................................................................................................................151
ClientDataSet ..................................................................................................................156
Komunikacja dwukierunkowa ..................................................................................161
Informacje na temat bazy danych .............................................................................164
SQLMonitor ....................................................................................................................165
Podsumowanie ................................................................................................................166

Rozdzia 8. BDE .............................................................................................. 167


Wstp...............................................................................................................................167
Database ..........................................................................................................................170
Query...............................................................................................................................171

Spis treci

5
Table................................................................................................................................174
UpdateSQL......................................................................................................................187
StoredProc .......................................................................................................................191
Podsumowanie ................................................................................................................193

Rozdzia 9. DataSnap ...................................................................................... 195


Wstp architektura trjwarstwowa.............................................................................195
DataSnap .........................................................................................................................196
Serwer aplikacji...............................................................................................................197
Program klienta ...............................................................................................................199
Ograniczenia....................................................................................................................200
Odwieanie danych........................................................................................................204
Konflikt ...........................................................................................................................206
Podsumowanie ................................................................................................................207

Rozdzia 10. Podstawy tworzenia komponentw ................................................. 209


Wstp...............................................................................................................................209
Podstawowe informacje ..................................................................................................209
Podejcie tradycyjne........................................................................................................213
Tworzymy pierwszy komponent.....................................................................................215
Komponenty bazodanowe ...............................................................................................220
Kontrolka bazodanowa....................................................................................................223
Styl projektowania komponentw...................................................................................224
Instalacja komponentu w rodowisku Delphi .................................................................227
Wykorzystanie komponentu............................................................................................228
Podsumowanie ................................................................................................................230

Dodatek A Adresy Internetowe........................................................................ 231


Skorowidz...................................................................................... 233

Rozdzia 10.

Podstawy tworzenia
komponentw
Wstp
W tym rozdziale chciabym przedstawi podstawy zwizane z tworzeniem komponentw bazodanowych. Korzystajc ze rodowiska Delphi, uywamy przede wszystkim biblioteki VCL (ang. Visual Components Library). Jak sama nazwa sugeruje,
VCL to biblioteka komponentw. Komponenty te maj nie tylko charakter komponentw wizualnych. Na bibliotek skadaj si rwnie komponenty niewizualne,
kontrolki zbiorw danych, komponenty zwizane z Internetem oraz klasy. Komponenty mona podzieli na grupy:
 Komponenty (wywodz si od klasy );
 Kontrolki niewizualne (wywodz si od klasy );
 Kontrolki wizualne (wywodz si od klasy  
), a w nich:


Kontrolki okienkowe (wywodz si od klasy   


),

Kontrolki nieokienkowe (wywodz si od klasy    


).

Podstawowe informacje
Podstawowa klas dla wszystkich komponentw jest klasa . Jednak klasa
ta ju dziedziczy po klasie    (nazwa klasy pochodzi od ang. persistent
trway). Celowo nie wspominam tutaj o klasie , od ktrej dziedzicz wszystkie
klasy, w tym rwnie klasa    (listing 10.1).

210

Delphi 7 i bazy danych

Listing 10.1. Definicja klasy TPersistent



 
 
    
 
     
         
  !"  # $ 
 
  # 
      
  !% $ &  # $ 


W ramach interfejsu publicznego klasa    udostpnia przede wszystkim metod
 , ktra kopiuje aktualn warto obiektu.
Definicj klasy  znajdziemy w pliku (dla domylnej instalacji Delphi) C:\pro
gram files\borland\delphi7\source\rtl\common\classes.pas. Klasa ta jest do rozbudowana, dlatego podam tutaj tylko jej fragment (gwnie jej interfejs publiczny). Warto
przyjrze si poszczeglnym skadnikom klasy, aby si przekona, jakie podstawowe
cechy posiada kady komponent (listing 10.2):
Listing 10.2. Fragment definicji klasy TComponent
'$
( )) ( )) '$* 
 
" '$
% $ '$% $
  +
'$ +
) +
'$  '$ 
,,,
 
  ' " '$  
  # 
  -  
  #'$
  #
  .    -    -   # $ 
  '$  % $  '$
  % '$ '$
  *$ % '$ '$
  *  
  ! '$ '$ # $ 
  !% $ &  
  /   -   # $ 
  )'$'$ '$
  *$'$'$ '$
  '$)'$ -  
   ' . .    
.   /*  
  0    -    -   # $ 

Rozdzia 10. Podstawy tworzenia komponentw

211

  ))$ $  ) ))  -  


  * )   ) ))      -  
# '$  )01"   !'$ 
# '$2). )3 '$   !'$
# '$' )   !'$'
# '$). )   !'$). " '$).
# '$  '$    '$ 
# '$#  '$#    '$# 
# ) +   ) " )
# " '$   "
# 4'+'$     4'+'$  " 4'+'$ 
 &
# % $ '$% $   % $ " % $  
#   +     "      5


Klasa ta oferuje pewn cech zwizan z komponentami o nazwie 


 (opublikowane). Jak wida z definicji klasy, dyrektywa 
 jest wymieniona w identyczny
sposb jak inne dyrektywy dostpu do pl klasy:
% 6" 78 #

 
,,,
 
,,,
 
,,,
 &
# ,,,
,,,


Najprociej rzecz ujmujc, mona stwierdzi, e to, co znajdzie si po dyrektywie



 (poprzedzone sowem   ), widzimy jako waciwoci komponentu,
gdy podgldamy je w oknie Object Inspector. W podanej definicji klasy 
widzimy dwie opublikowane waciwoci (ang. properties), ktrymi s  oraz .
 &
# % $ '$% $   % $ " % $  
#    +     "      5


Prosz otworzy dowolny projekt Delphi i wskaza dowolny komponent. W oknie


Object Inspector kadego komponentu zobaczymy waciwoci  (nazwa komponentu) oraz . Przy czym waciwo , jak wynika z opisu dokumentacji pomocy
rodowiska Delphi (menu: help), zostaa dodana dla wygody projektanta. Moemy
w niej umieci, co chcemy w ramach zgodnoci z typem tej waciwoci.
Przypatrujc si nadal definicji klasy , moemy zauway, e komponent
moe mie swojego waciciela:
" '$

212

Delphi 7 i bazy danych

Komponent zostanie dodany do listy komponentw za porednictwem metody  

; przy czym lista komponentw jest dostpna za porednictwem:


# '$2). )3 '$   !'$

Komponent ma swoj pozycj  na licie komponentw:


# '$). )   !'$). " '$).

Do ustawienia wartoci   suy metoda:


  '$).4  )

a do pobrania aktualnej wartoci:


  !'$). )

Komponent moe rwnie by wacicielem innych komponentw. Na przykad komponent 


, na ktrym moemy umieci inne komponenty wwczas 
dla
pozostaych komponentw bdzie ich wacicielem. Komponenty umieszczone na
komponencie 
bd wwczas miay odpowiednio ustawion waciwo  .
Wwczas:
 6" 71$, ,% $

wywietli nazw komponentu rodzica (waciciela).


Moemy sprawdzi, czy komponent ma waciciela:
  /   -   # $ 

Chcc si odwoa do jednego z komponentw znajdujcych si na takim panelu,


moemy skorzysta z metody:
  '$  % $  '$

Jeeli chcemy, moemy rwnie przejrze ca list komponentw


 
11  )

 11 
5  '$'9:  
 '$2113  - & 
'$2113  -, ,6 
:;




W podanym przykadzie w ramach ptli (na przykad: wewntrz formularza) przejrzymy wszystkie komponenty znajdujce si na formularzu. Jeeli komponentem jest
komponent klasy , wwczas zostanie dla niego zmieniona wielko aktualnie
wykorzystywanej czcionki na rozmiar 12 punktw.
Wiemy ju, e komponenty posiadaj waciwoci i metody. Domylamy si rwnie,
e komponenty potrafi reagowa na wystpienie pewnych zdarze. Zakadka events
(w oknie Object Inspector) wikszoci komponentw zawiera bogat list zdarze,
jakie mona dla nich oprogramowa. Jednoczenie, jak o tym wspomniaem wczeniej,

Rozdzia 10. Podstawy tworzenia komponentw

213

waciwoci widoczne w oknie Object Inspector nale rwnie do grupy waciwoci


(ang. properties). Dlatego eby obsuy zdarzenie komponentu , jakim jest

, naley przypisa waciwoci tego zdarzenia odpowiedni metod. Dziki temu
mona rnym zdarzeniom przypisa t sam metod nawet dla rnych komponentw.

Podejcie tradycyjne
Aby wej agodnie w wiat projektowania komponentw, zademonstruj, jak na pewnych etapach mona osign pozornie skomplikowany cel, jakim jest utworzenie
komponentu. W wielu programach korzystaem z komponentu klasy , ktry
suy mi m. in. do wyboru miesica (w zakresie 1 12). Najprostszym rozwizaniem
jest umieszczenie na formularzu komponentu  oraz wstpne wypenienie jego
waciwoci  wartociami od 1 do 12 reprezentujcych kolejne miesice. Wobec
tego komponentu nazwijmy go   miaem jeszcze jeden wymg. Ot potrzebowaem, aby pocztku swej pracy komponent na by ustawiony na warto, jak posiada aktualny miesic. Narzuca si naturalne i proste rozwizanie, aby skorzysta z klas
i odpowiednio oprogramowa zachowanie si nowej klasy tak, aby speniaa moje oczekiwania. W tym celu utworzyem now klas dziedziczc wprost od klasy .
Oryginalny konstruktor klasy  ma posta:
   " '$ 

Jego parametr ! jest identyfikowany z wacicielem komponentu. Postanowiem


nieco zmodyfikowa konstruktor, aby mc na starcie okreli waciciela komponentu,
jego rodzicaoraz pooenie lewego grnego rogu, w jakim ma si znale komponent.
W efekcie, konstruktor przyj posta:
#
<#'$-.
'$-.
 
  ' " '$
   =' 
+(  )
  "# 77 "7$ 


Jego implementacja wyglda nastpujco:


  <#'$-.,' " '$
   =' 
+(  )

& ' "
  
 
+ 
+
 

=& 
>5
"# 77 "7$ 


214

Delphi 7 i bazy danych

Kolejno w ciele konstruktora wykonuje si wywoanie konstruktora klasy bazowej,


przypisanie rodzica, ustawienie pooenia lewego grnego rogu komponentu oraz
wywoywana jest metoda, ktrej zadaniem jest wypenienie listy komponentu wartociami od 1 do 12 oraz ustawienie waciwoci  (aktywny wiersz komponentu
klasy MyComboBox) na odpowiadajc numerowi biecego miesica (listing 10.3):
Listing 10.3. Kod realizujcy ustawienie wewntrznej zawartoci kontrolki
  <#'$-.,=# 77 "7$ 
 
$  
? ( <&(  #( /( <(  ( <  =
6    $
6  )
1$  )
  

 $ 
:  :;  
)$,)$ 

6  
%"
  6 ( ? ( <&(  #
1$ 
$&
 
)1$ 
6 
)$,).
 6 @ 9: & 
)$). 
6



Natomiast, aby uy mechanizmu w postaci nowo zdefiniowanej klasy, wykonuj


wywoanie:
   $:, $    
 
  <#'$-.

 
<#'$-.,'  ( $:( AB( CC


Takie jest tradycyjne podejcie. Proste i skuteczne (peny kod znajduje si w przykadowym projekcie o nazwie  "
#$ w c:\helion\przyklady\komponenty\krok1\source\
Przyklad28). Ale ma swoj wad. Przejawia si ona gwnie tym, e jeeli na przykad
projektujemy okno dialogowe posiadajce wiele obiektw kontrolnych w postaci komponentw, takich jak na przykad % , % , &   ,  itd., to
wygodnie jest albo wszystkie komponenty umieszcza na formularzu cigajc je
z palety komponentw, albo wszystkie je tworzymy w locie, jak w przykadzie powyej. Metoda polegajca na mieszaniu tych dwch metod jest chyba najgorszym z rozwiza. Rozwizaniem najbardziej sensownym jest utworzenie komponentu realizujcego te samo zadanie.

Rozdzia 10. Podstawy tworzenia komponentw

215

Tworzymy pierwszy komponent


Komponenty mona tworzy zupenie od podstaw lub wykorzystujc istniejce klasy
wraz z mechanizmami, ktre klasy te posiadaj. W dalszym cigu postaram si omwi
sposb utworzenia prostego komponentu powstaego na bazie komponentu .
Wykonuje on te same zadania, co utworzony w poprzednim punkcie obiekt klasy '
 (omawiany przykad znajduje si w przykadowym projekcie o nazwie  "
#(
c:\helion\przyklady\komponenty\krok1\source\Przyklad29).
Aby utworzy nowy komponent, naley po uruchomieniu rodowiska Delphi zamkn
ewentualnie otwarty projekt oraz z menu wybra: Component/New Component. Na
ekranie zobaczymy okno jak na rysunku 10.1.
Rysunek 10.1.
Okno tworzenia
nowego komponentu

W oknie tym mamy do wyboru nastpujce parametry:


 Ancestor Type naley wybra klas przodka;
 Class Name naley poda nasz propozycj nazwy dla tworzonej klasy

komponentu;
 Palette Page naley poda nazw istniejcej (lub nowej) palety, na ktrej

ma si znale tworzony komponent;


 Unit File Name naley poda pooenie pliku z kodem rdowym

komponentu;
 Search Path (cieka poszukiwa) najczciej nie trzeba tutaj nic zmienia.

Po podaniu wymaganych danych zatwierdzamy nasze dane, wybierajc klawisz OK.


W efekcie, mechanizm tworzenia nowego komponentu utworzy nowy modu w miejscu
pliku jak w parametrze Unit File Name. Bedzie on zawiera definicje klasy o nazwie

 dziedziczc od  . Oto zawarto pliku (listing 10.4):
Listing 10.4. Pocztkowa zawarto moduu
 <='$-.
 

#0 ( ' ( ' ( ' 

216

Delphi 7 i bazy danych


#
<='$-.
'$-.
 
D      E
 
D      E
 
D      E
 &
D  &    E

  *
$ $ 
  *

*'$F0*F( 2<='$-.3

,

Nie ma tutaj specjalnych niespodzianek. Mamy w zasadzie szkielet klasy i jedn procedur o nazwie )  . Deklaracja metody )  jest nastpujca:
  *'$    
 '$'   #  '$' 

Procedura )  dokona rejestracji komponentu   na karcie o nazwie *+%).
Aby tworzony komponent mg zachowywa si jak jego przodek klasy ,
trzeba do sekcji 
 doda konstruktor, za pomoc ktrego wywoamy konstruktor
przodka. Ja rozszerzyem moliwoci konstruktora o moliwo przyjcia parametrw
klasy podstawowej.
 
  ' " '$    =' 

Chciaem rwnie, aby nowy komponent posiada waciwo , ktra przechowywaaby


aktualn warto numeryczn miesica. W tym celu dodaem waciwo opublikowan
o takie nazwie do sekcji 
:
 &
# <  <    !< " < 

Nowa waciwo  pojawi si w oknie Object Inspector z tak sam nazw. Aby mc
ustawia t waciwo, trzeba zadeklarowa odpowiedni zmienn w sekcji prywatnej.
Zmienna ta powinna przyjmowa wartoci tylko z zakresu od 1 do 12. Aby tak si stao,
utworzyem nowy typ:
#
< 
:,,:;

a w sekcji  , podaem:


 
<  < 

Rozdzia 10. Podstawy tworzenia komponentw

217

Zmienna -  oraz waciwo  s ze sob nierozerwalnie zwizane. Odczyt i zapis


zmiennej jest realizowany za porednictwem obiektw wymienionych po sowach 
i ! . Proste zmienne mona ustawia i odczytywa za pomoc konstrukcji (dla zmiennej - ):
# <  <    < " < 

Przy czym odczyt (po sowie: read) odbywaby si ze zmiennej - , a zapis (po sowie:
write) do tej samej zmiennej - . W podanym wczeniej fragmencie kodu podaem
drugi sposb osignicia tego samego celu:
# <  <    !< " < 

W tym przypadku odczyt bdzie si odbywa za pomoc metody  , a ustawianie


waciwoci  poprzez metod + . Skoro tak, to trzeba zadeklarowa obie metody:
 
  <   4  < 
  !<  < 
  =# 77 "7$ 

Do sekcji 
 dodaem rwnie metod, ktra wypeni i odpowiednio ustawi list,
z ktrej bdzie mona wybiera odpowiednie wartoci !
 . .!./0.
Do penej funkcjonalnoci komponentu przydaoby si jeszcze odpowiednie oprogramowanie zdarze, jakie zajd, gdy uytkownik komponentu zmieni warto miesica
na inny. W tym celu dodamy obsug zdarzenia. Oto fragment kodu zwizany z obsug
zdarzenia:
<='$-.
'$-.
 
'&   %#
 
  G$   # $ 
 &
# '&   %#   '&  " '& 


Zostaa zadeklarowana zmienna - typu  -%,, przy czym ten ostatni
ma nastpujc deklaracj:
# %#
      

Zdarzenie bdzie rwnie waciwoci:


# '&   %#   '&  " '& 

a odczyt i ustawianie bdzie si odbywao poprzez zmienn -.


Istnieje jeszcze metoda:
  G$   # $ 

ktr wywoam na koniec operacji zwizanych z ustawieniem zmiennej (+ ).


Cay kod przygotowanego komponentu przedstawia si nastpujco (listing 10.5):

218

Delphi 7 i bazy danych

Listing 10.5. Kocowa posta moduu realizujcego obsug kontrolki


 #'$-.
 

#0 ( ' ( ' ( ' 
#
< 
:,,:;
<='$-.
'$-.
 
<  < 
'&   %#
 
  G$   # $ 
 
  <   4  < 
  !<  < 
  =# 77 "7$ 
  ' " '$    =' 
 &
# '&   %#   '&  " '& 
# <  <    !< " < 

  *
$ $ 
  *

*'$F0*F( 2<='$-.3

  <='$-.,' " '$    =' 

& ' "
  
 
=& 
>5
=# 77 "7$ 

  <='$-.,G$  

 '&  & 
'&  


  <='$-.,<   4  < 
 
6  
  

Rozdzia 10. Podstawy tworzenia komponentw

219


< 
4 
 
)4 
6 
)$,).
 6 @ 9: & 
)$). 
6

  
)$). 
9:

G$  

  <='$-.,!<  < 

*  
< 

  <='$-.,=# 77 "7$ 
 
$  
? ( <&(  #( /( <(  ( <  =
6    $
6  )
1$  )
  

     '$   & 
 $ 
:  :;  
)$,)$ 


6  
%"
  6 ( ? ( <&(  #
1$ 
$&
 
)1$ 
6 
)$,).
 6 @ 9: & 
)$). 
6
< 
<&


,

Utworzony kod naley zapamita, po czym dobrze by byo przetestowa dziaanie


powstaego kodu. W systemie pomocy rodowiska Delphi pod hasem Testing uninstalled components (zakadka Znajd) znajduje si podpowied o tym, jak testowa
napisany komponent przed jego instalacj w zakadce komponentw. Operacj naley
wykona w szeciu krokach.

220

Delphi 7 i bazy danych


1. Dodajemy do sekcji  formularza gwnego nazw moduu zawierajcego

testowany komponent:
0 #'$-.

2. Dodajemy obiekt do sekcji 


1
 
D      E
  <='$.

3. Dodajemy obsug zdarzenia   formularza:


#
 $:
 $
  $'   


4. Tworzymy egzemplarz obiektu testowanej klasy:


   $:, $'   

 
<='$.,'  ( $:
,,,


5. Ustawiamy waciwo  , jeeli komponent jest kontrolk. U mnie


  to drugi parametr wywoania konstruktora (tutaj 2 3):
 
<='$.,'  ( $:

6. Ustawiamy pozostae (inne) parametry komponentu:


,+ 
AB
, 
CC

W nastpnych paragrafach przyjrzymy si bliej problematyce zwizanej z podstawami


projektowania komponentw bazodanowych.

You might also like