02.Rozdziaę 02a.pdf

(1452 KB) Pobierz
33670336 UNPDF
Rozdział 2
Szybki start
Nietrudno zrozumieć niecierpliwość Czytelników, którzy nie mają ochoty przed
zbudowaniem pierwszej aplikacji brnąć przez kilka wstępnych rozdziałów.
Dlatego niniejszy rozdział zawiera wiadomości, które pozwolą jak najszybciej
rozpocząć pracę z Delphi. Niemal od razu zajmiemy się tworzeniem prostych
formularzy i podłączaniem do baz danych. Jest to zatem rozdział dla osób
z niecierpliwością oczekujących pierwszego kontaktu z Delphi.
Zagadnienia poruszane w tym rozdziale obejmują:
tworzenie formularza bazy danych przy pomocy kreatora (Database Form
Wizard);
najważniejsze właściwości komponentów TTable, TDataSource
i TDBEdit;
tworzenie formularzy baz danych metodami standardowymi, bez pomocy
kreatora;
aliasy BDE - pełnione funkcje i sposób definiowania;
tworzenie modułów danych i dodawanie ich do składnicy obiektów ( Object
Repository );
tworzenie formularzy typu nadrzędny-podrzędny (ang. master-detail ).
Terminologia
W dalszej części niniejszego rozdziału używamy wielu terminów, opisujących
elementy architektury baz danych w środowisku Delphi. Zamieszczona poniżej
tabela 2.1 zawiera zestawienie najważniejszych terminów, dotyczących baz danych
w środowisku Delphi. Zestawienie to pozwoli uniknąć nieporozumień i ułatwi
odbiór tekstu. Należy zwrócić uwagę, że niektóre z terminów, zebranych w tabeli,
dotyczą bezpośrednio środowiska Delphi, inne zaś obsługi baz danych.
33670336.002.png
36
Część I
Tabela 2.1. Najważniejsze terminy, dotyczące dostępu do baz danych
w środowisku Delphi.
Termin Wyjaśnienie
Tabela Zbiór wierszy (lub rekordów) w bazie danych.
Można sobie np. wyobrazić tabelę FAKTURA,
w której każdy wiersz odpowiadałby zawartości
jednej faktury.
Wiersz Rekord (jednostka) w tabeli. Na przykład każdy
wiersz tabeli KLIENT zawiera dane o jednym
kliencie.
Kolumna Pole (atrybut), występujące we wszystkich
wierszach tabeli. Na przykład tabela FAKTURA
może zawierać kolumnę (pole) NumerKlienta. Pole
NumerKlienta występuje wówczas we wszystkich
wierszach tej tabeli.
Borland Database Engine Zestaw bibliotek DLL i innych plików pomoc-
niczych, umożliwiających Delphi (i innym
programom firmy Borland) dostęp do baz danych.
Borland Database Engine (BDE) oferuje interfejs
programowy API dostępu do baz danych, operujący
na stosunkowo wysokim poziomie abstrakcji
i jednakowy dla wszystkich obsługiwanych platform
systemów baz danych. Pozwala to na znaczne
ograniczenie nakładu pracy, niezbędnego do
przygotowywania pełnowartościowych aplikacji,
obsługujących bazy danych.
IDAPI
Independent Database Application Programming
Interface firmy Borland. Jest to interfejs, za którego
pośrednictwem aplikacje (w tym aplikacje Delphi)
komunikują się z BDE. Programista, korzystający
z Delphi, stosunkowo rzadko zmuszony będzie do
używania w programie bezpośrednich wywołań
IDAPI. Większość niezbędnych wywołań jest
bowiem realizowana przez komponenty Delphi,
odpowiedzialne za obsługę baz danych. Programista
wykorzystuje metody, właściwości i zdarzenia,
związane z komponentami, które z kolei realizują
odpowiednie wywołania IDAPI.
33670336.003.png
Szybki start
37
Termin
Wyjaśnienie
Program obsługiBDE
Biblioteka DLL (lub pakiet takich bibliotek)
umożliwiająca komunikację BDE zkonkretną
platformą systemu zarządzania bazą danych. Pakiet
Delphi w wersji Client/Server zawiera programy
obsługi ( drivers ), umożliwiające korzystanie z baz
Sybase, Microsoft, Oracle, InterBase, Informix,
DB2, Paradox, dBASE i dowolnych źródeł danych,
dostępnych za pośrednictwem 32-bitowego
mechanizmu ODBC. Programy, napisane w Delphi,
nie komunikują się wprost z programami obsługi
BDE, korzystają natomiast z tzw. aliasów BDE,
funkcjonujących w oparciu o nie.
Alias BDE
Zestaw parametrów konfiguracyjnych BDE,
definiujących sposób podłączenia się do konkretnej
bazy danych. Aliasy oparte są na programach
obsługi baz danych BDE. Tworzy się je przy
pomocy programu BDE Administrator albo
Database Explorer (zawartego w pakiecie Delphi).
Aliasy przypisane są zazwyczaj do konkretnych baz
danych. Na przykład jeden alias może być
skojarzony z bazą danych Northwind, dostarczaną
razem z pakietem Microsoft Access, drugi natomiast
z inną bazą MS Access - Orders. Oba aliasy oparte
będą na tym samym programie obsługi SQL Links
dla platformy Access, gdyż oba skojarzone są
z bazami danych Access. W przeciwieństwie do
programów obsługi BDE, które związane są
z poszczególnymi platformami zarządzania bazami
danych, aliasy BDE skojarzone są z konkretnymi,
pojedynczymi bazami danych na danej platformie.
Programy obsługi SQL
Links (łącza SQL)
Wydajne sterowniki, zapewniające dostęp do baz
danych, używane przez BDE do łączenia z systema-
mi zarządzania bazami danych typu klient-serwer.
Pakiet Delphi wwersji Client/Server zawiera
programy obsługi SQL Links dla platform: Sybase,
Microsoft, Oracle, InterBase, Informix iDB2.
Programy obsługi SQL Links eliminują konieczność
korzystania zalternatywnych metod dostępu do
powyższych platform, np. z mechanizmu ODBC.
Programiście pozostawiono jednak wybór dowolnej
33670336.004.png
38
Część I
Termin Wyjaśnienie
metody dostępu.
Programy obsługi ODBC Programy obsługi, zapewniające dostęp do baz
danych, zgodne ze specyfikacją Open Database
Connectivity firmy Microsoft. Delphi może łączyć
się z systemami obsługi baz danych back-end za
pośrednictwem 32-bitowych driverów ODBC. Do
tworzenia i zarządzania źródłami danych typu
ODBC (które porównać można do aliasów BDE)
służy mini-aplikacja ODBC Administrator z Panelu
Sterowania Windows.
Kontrolka dostępu do
danych
Komponent (niewidoczny w trakcie wykonywania
programu), zapewniający aplikacji dostęp do bazy
danych. Kontrolki dostępu do danych zgrupowane
są na stronie Data Access palety komponentów
Delphi. Do kontrolek tego typu należą komponenty
TDatabase, TTable i TDataSource .
TDataset
Klasa obiektów Delphi; zapewnia dostęp do tabel
(baz danych) i zbiorów danych, będących wynikami
zapytań. Komponenty TTable , TQuery
i TStored Proc pochodzą od klasy TDataset .
Z tego względu w dalszej części książki komponenty
powyższe nazywane są często „komponentami typu
TDataset ”.
TTable
Komponent Delphi, zapewniający dostęp do tabel
(baz danych). Skojarzenie komponentu TTable
z rzeczywistą tabelą odbywa się za pośrednictwem
własności TTableName (nazwa tabeli).
TQuery
Komponent Delphi, umożliwiający konstruowanie,
wykonywanie i przetwarzanie zapytań SQL.
TStoredProc
Komponent Delphi, umożliwiający uruchamianie
skompilowanych procedur SQL, przechowywanych
na serwerze bazy danych (znanych również jako
procedury osadzone, ang. stored procedures ).
Kontrolka
powiązana
Komponent graficzny (widoczny w trakcie
wykonywania programu), który - korzystając
z mechanizmów oferowanych przez odpowiednie
kontrolki dostępu do danych - umożliwia
użytkownikowi przeglądanie i modyfikowanie
z danymi
33670336.005.png
Szybki start
39
Termin
Wyjaśnienie
zawartości bazy. Kontrolki powiązane z danymi
zgrupowane są na stronie Data Controls palety
komponentów Delphi. W większości przypadków
można uznać je za specjalne wersje standardowych
kontrolek, wyświetlające i/lub dopuszczające edycję
danych zgromadzonych w bazie. Do kontrolek
powiązanych z danymi należą komponenty
TDBGrid, TDBNavigator i TDBEdit.
TDataSource
Komponent Delphi, stanowiący łącze pomiędzy
zbiorami danych (komponentami typu TDataset ),
a kontrolkami powiązanymi z danymi. Komponenty
powiązane z danymi zawierają odwołania do
komponentów TDataSource (źródeł danych), a te
z kolei - do kontrolek typu TDataset (zbiorów
danych).
TField
Klasa obiektów Delphi; zapewnia bazie danych
dostęp do pól w tabeli. Podczas dodawania do
formularza komponentów, reprezentujących pola
(przy pomocy edytora pól - modułu Fields Editor),
Delphi tworzy komponenty potomne w stosunku do
TField, takie jak TStringField czy
TIntegerField. Komponenty klasy TField ,
dodane do formularza, w hierarchii własności należą
do tego właśnie formularza, a nie do skojarzonego
z nimi zbioru danych TDataset .
Przegląd architektury
Przyjrzyjmy się teraz ogólnej architekturze środowiska obsługi baz danych
w Delphi. Aplikacje napisane w Delphi komunikują się z lokalnymi i odległymi
bazami danych za pośrednictwem modułu Borland Database Engine. W przypadku
formatów lokalnych, na przykład tabel Paradoxa i dBASE, moduł BDE
wykorzystuje własne programy obsługi lokalnych baz danych. Z kolei
w przypadku formatów baz danych, przechowywanych na odległych serwerach,
takich jak Oracle czy Sybase, BDE nawiązuje łączność z serwerami baz danych
typu back-end , korzystając przy tym z programów obsługi SQL Links i ODBC.
Programy te odwołują się często do dedykowanych bibliotek, dostarczanych przez
producentów odpowiednich systemów zarządzania bazami danych. Opisane
zależności ilustruje rysunek 2.1.
33670336.001.png
Zgłoś jeśli naruszono regulamin