Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałJerzy Jędryczka Został zmieniony 10 lat temu
1
Programowanie w środowiskach zintegrowanych wykład 3 PSZ Programowanie w Środowiskach Zintegrowanych > Integracja aplikacji z bazami danych
2
Programowanie w środowiskach zintegrowanych Na poprzednim wykładzie Przegląd komponentów biblioteki VCL –Elementy interfejsu –Elementy systemowe –Elementy dostępu do danych –Internet Projektowanie interfejsu użytkownika –Okna główne i ramki (TForm, TFrame) –Konstrukcja okna głównego (TPanel, TBevel, TSeparator, TGroupbox) –Podstawowe komponenty interfejsu użytkownika –Elementy wykorzystujące kolekcje (TListView, TTreeView)
3
Programowanie w środowiskach zintegrowanych Konspekt bieżącego wykładu Koncepcja mechanizmów integracji Komponenty abstrakcyjne i niezależne cz. I TCustomConnection TDataSet
4
Programowanie w środowiskach zintegrowanych Koncepcja mechanizmów integracji Architektura środowiska Zarys hierarchii komponentów Typowy schemat komunikacji aplikacji z bazą danych
5
Programowanie w środowiskach zintegrowanych Architektura środowiska Podstawowe założenie – obsługa różnych standardów dostępu do bazy danych Obsługiwane standardy bezpośrednie (natywne) Obsługiwane standardy pośrednie ADO, BDE oraz ODBC Pierwszy element architektury – interfejsy dostępowe (sterowniki) Drugi – komponenty dostępowe
6
Programowanie w środowiskach zintegrowanych Architektura środowiska Interfejs ODBC Sterowniki ODBC S1S2SN ADO ActiveX Sterowniki ADO Interfejs BDE Sterowniki BDEDB Express Sterowniki DBX MySQLORACLE Bazy lokalne i dostępne poprzez sieć komputerową Sterowniki InterBase Komponenty DBExpress Komponenty IBase Komponenty BDE Komponenty ADO
7
Programowanie w środowiskach zintegrowanych Komponenty edycyjne Komponenty abstrakcyjne i niezależne Struktura klas komponentów Komponenty Specjalizowane
8
Programowanie w środowiskach zintegrowanych Komponenty specjalizowane Komponenty abstrakcyjne i niezależne posiadają implementację usług nie uzależnionych od właściwości docelowej bazy danych Usługi i cech zależne od bazy danych zaimplementowano w komponentach specjalizowanych TDataSet – –TTable, TQuery (BDE), –TSQLTable, TSQLQuery (DBExpress), –TADOTable, TADOQuery (ADO) –TIBTable, TIBQuery (InterBase) TCustomConnection – –TDataBase (BDE) –TSQLConnection (DBExpress) –TADOConnection (ADO) –TIBDataBase (InterBase)
9
Programowanie w środowiskach zintegrowanych Typowy schemat komunikacji Kolejne kroki konfiguracji –Konfiguracja komponentu odpowiedzialnego za połączenie (pochodzącego od TCustomConnection) –Konfiguracja komponentu odpowiedzialnego za reprezentacją zbioru danych (pochodzącego od TDataSet) –Konfiguracja źródła danych (komponent TDataDource) –Konfiguracja komponentu edycyjnego
10
Programowanie w środowiskach zintegrowanych Typowy schemat komunikacji Komponent odpowiedzialny za połączenie Komponent odpowiedzialny za reprezentację zbioru danych Komponent – źródło danych Komponenty Edycyjne (BDControls) Komponent – źródło danych
11
Programowanie w środowiskach zintegrowanych Przykładowy projekt Przykład konfiguracji połączenia z bazą danych
12
Programowanie w środowiskach zintegrowanych Komponenty abstrakcyjne i niezależne cz. I Komponent abstrakcyjny TCustomConnection Komponent abstrakcyjny TDataSet
13
Programowanie w środowiskach zintegrowanych TCustomConnection OdpowiedzialnośćOdpowiedzialność – zapewnienie połączenia z bazą danych, zapewnienie wykorzystania mechanizmów bezpieczeństwa, udostępnienie mechanizmów pracy wielostanowiskowej Podstawowe usługi –konfiguracja parametrów połączenia z bazą danych –obsługa zabezpieczeń dostępu –otwieranie i zamykanie połączenia
14
Programowanie w środowiskach zintegrowanych Komponenty specjalizowane dziedziczące po TCustomConnection
15
Programowanie w środowiskach zintegrowanych TCustomConnection - właściwości i funkcje bool Connected – właściwość –zmiana wartości na true powoduje podjęcie próby połączenia się z bazą danych –w przypadku niepowodzenia generowany jest odpowiedni wyjątek –zmiana na wartości na false powoduje rozłączenie się z bazą danych void __fastcall Open(void), void __fastcall Close(void); –Ustawiają wartość Connected odpowiednio na true i false Powiązane właściwości typu Event –BeforeConnect –BeforeDisconnect
16
Programowanie w środowiskach zintegrowanych TCustomConnection - właściwości i funkcje bool LoginPropmpt – właściwość –jeśli wartość ustawiona na true – podczas łączenia pojawi się dialog logowania –jeśli ustawiona na false dialog się nie pojawi –w drugim przypadku należy podać parametry logowania na innym poziomie (np. w źródle ODBC lub skorzystać z zabezpieczenia zintegrowanego)
17
Programowanie w środowiskach zintegrowanych TDataSet OdpowiedzialnośćOdpowiedzialność – reprezentacja zbioru danych, umożliwienie przeglądania i edycji danych, umożliwienie wykorzystania mechanizmów pracy wielostanowiskowej Podstawowe usługi – –pobieranie danych –rejestracja dokonanych zmian –przesyłanie zmian do bazy danych –operacje na rekordach (wyszukiwanie, wstawianie, usuwanie, modyfikacja) –zarządzanie polami rekordów
18
Programowanie w środowiskach zintegrowanych Komponenty specjalizowane dziedziczące po TDataSet
19
Programowanie w środowiskach zintegrowanych TDataSet – wybrane właściwości Active –__property bool Active = {read=GetActive, write=SetActive, default=0}; –określa czy zbiór jest włączony (wartość true), czy wyłączony (wartość false) State –__property TDataSetState State = {read=FState, nodefault}; –określa stan zbioru danych –możliwe stany: –enum TDataSetState { dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc, dsOpening }
20
Programowanie w środowiskach zintegrowanych TDataSet – właściwość State dsInactiveZbiór zamknięty, dane nie są dostępne. dsBrowseDane można przeglądać, ale nie można ich modyfikować. Stan domyślny po otwarciu zbioru. dsEditAktywny rekord może być modyfikowany. dsInsertAktywny rekord, to rekord nowo wstawiony. Nie został on jeszcze przesłany do bazy danych. Rekord ten można modyfikować, a następnie przesłać lub zrezygnować ze zmian. dsSetKeyTTable, TClientDataSet. Dozwolone jest wyszukiwanie rekordów lub trwa operacja SetRange. Określony podzbiór danych może być przeglądany, żadne dane nie mogą być modyfikowane. dsCalcFieldsTrwa obsługa zdarzenia OnCalcFieldss. Można modyfikować jedynie pola typu ftCalculted. dsFilterTrwa obsługa zdarzenia OnFilterRecord. Określony podzbiór danych może być przeglądany, żadne dane nie mogą być modyfikowane. dsBlockReadZablokowany odczyt bloku. Nie są odświeżane okna edycyjne nie są przetwarzane zdarzenia. dsOpeningTrwa proces otwierania zbioru danych.
21
Programowanie w środowiskach zintegrowanych TDataSet – wybrane właściwości Filtered –__property bool Filtered = {read=FFiltered, write=SetFiltered, default=0}; –określa czy włączono, czy wyłączono filtrowanie zbioru Filter –__property AnsiString Filter = {read=FFilterText, write=SetFilterText}; –zawiera wyrażenie logiczne, którego wartość jest wyznaczana po odczytaniu rekordu –jeśli wyrażenie ma wartość false, wówczas rekord nie jest widoczny w zbiorze –jeden ze sposobów przeszukiwania zbioru
22
Programowanie w środowiskach zintegrowanych TDataSet – wybrane właściwości ActiveRecord –__property int ActiveRecord = {read=FActiveRecord, nodefault}; –określa numer aktywnego rekordu –rekord aktywny – rekord na który wskazuje wskaźnik aktywnego rekordu RecordCount –__property int RecordCount = {read=GetRecordCount, nodefault};zawiera wyrażenie logiczne, którego wartość jest wyznaczana po odczytaniu rekordu –zawiera całkowitą liczbę rekordów w zbiorze
23
Programowanie w środowiskach zintegrowanych TDataSet – wybrane funkcje Open –void __fastcall Open(void); –otwiera zbiór danych –jeśli otwarcie nie jest możliwe generowany jest wyjątek Close –void __fastcall Close(void); –zamyka zbiór danych
24
Programowanie w środowiskach zintegrowanych TDataSet – wybrane funkcje Edit –void __fastcall Edit(void); –przełącza zbiór w stan dsEdit Insert –void __fastcall Insert(void);zamyka zbiór danych –wstawia do zbioru nowy wiersz –ustawia znacznik na pozycję nowego wiersza –przełącza zbiór w stan dsInsert Post –virtual void __fastcall Post(void); –powoduje zapisanie zmina do bazy danych
25
Programowanie w środowiskach zintegrowanych TDataSet – wybrane funkcje FindFirst, FindNext, FindPrior, FindLast –bool __fastcall FindFirst(void); –bool __fastcall FindNext(void); –bool __fastcall FindPrior(void); –bool __fastcall FindLast(void); –przesuniecie się do określonego rekordu w zbiorze (pierwszego, następnego, poprzednido, ostatniego) –zwracana wartość informuje o tym, czy przesunięcie powiodło się
26
Programowanie w środowiskach zintegrowanych TDataSet – wybrane funkcje Locate –virtual bool __fastcall Locate(const AnsiString KeyFields, const System::Variant &KeyValues, TLocateOptions Options); –realizuje bardziej zaawansowane wyszukiwanie GetBookmark –virtual void * __fastcall GetBookmark(void); –pobiera zakładkę, za pomocą której można zapamiętać pozycję bieżącego rekordu GoToBookmark –void __fastcall GotoBookmark(void * Bookmark); –ustawia znacznik w pozycji zapamiętanej przy pobieraniu zakładki
27
Programowanie w środowiskach zintegrowanych Przykładowy projekt Przykład korzystania z TDataSet Micro CRM
28
Programowanie w środowiskach zintegrowanych Podsumowanie Koncepcja mechanizmów integracji –Architektura środowiska –Zarys hierarchii komponentów –Typowy schemat komunikacji aplikacji z bazą danych Komponenty abstrakcyjne i niezależne cz. I –TCustomConnection –TDataSet
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.