Delphi by xiaoyounan

VIEWS: 0 PAGES: 29

									Databázové aplikácie –
  vývojové prostredie Delphi
  DB aplikácie v Delphi
     Architektúra DB Aplikácie v delphi
     Borland Database Engine (DBE)
     Prístup k databáze a dátam
     Tvorba GUI
     Tvorbu tlačových zostáv a export dát
Architektúra aplikácie v delphi
 Súborová databázová aplikácia – aplikácia pracuje
  nad databázami typu Paradox, Dbf, Xls,..., ku ktorým
  pristupuje priamo, pričom umožňuje využiť rozhrania
  s podporou SQL
 Architektúra Klient/Server
   Klient – aplikačný program, ktorý odosiela príkazy
      databáze cez odpovedajúce rozhranie, prijíma
      dotazované výsledky
   Server – databáza, prijíma požiadavky vo forme SQL
      príkazov, spracuje ich a vysiela výsledok ku klientovi
 Viacvrstvové databázové aplikácie – Aplikácia zložená
  z prezentačnej, výkonnej vrstvy a SQL databázy
Štruktúra databázovej aplikácie
                                   Data module
     UI
                        Data           Dataset           Data
 Data-Aware                                              connection
                        source



    UI ~ užívateľské formuláre – interaktívne rozhranie medzi užívateľom a
     aplikáciou
    Dataset – množina záznamov z databázy
    Data-Aware – časti UI vizualizujúce dáta
    Data source – prepojenie medzi UI ~ Dataset
    Data connection - mechanizmus pre získanie informácie z
     databázového servera, súboru na disku, inej dataset komponenty.
    Data module – kontajnér pre dátové komponenty
Borland Database Engine
 Knižnica, ktorá je zástupcom databázy pre
  aplikáciu
 Implementuje priamy prístup k lokálnym
  DB súborom (dBase, Paradox, ASCII,
  FoxPro, MS Access)
 Umožňuje pomocou SQL-Link/ODBC
  rozhrania komunikáciu s databázovým
  serverom
 Poskytuje jednotné rozhranie pre prístup do
  databázy
 Vykonáva riadenie toku dát
Aplikácia založená na BDE
                                                Strana klienta                                Strana servera




                                                                          Súbor
                                                       Borland Database
                        Databázové komponenty



                                                            Engine
Užívateľská aplikácia




                                                                                                  RDBMS
                                                         SQL-Links




                                                                          Databázový klient
                                                                                                    DB
                                                           ODBC


                                                          Ovládač
Komponenty BDE



 Nevizuálne komponenty pre prácu s databázou a
  spracovanie dát
 Sada tried, ktoré využívajú funkčnosť BDE a
  zjednodušujú vývoj aplikácie
 Obsahuje komponenty:
    Dataset - TTable, TQuery, TStoredProcedure
    Data connection – TDatabase, TSession
    Podporné – TBatchMove, TUpdateSQL
Hierarchia BDE Dataset
                                         TDataset




                  TDBEDataset                               TCustomClientDataSet



                  TDBDataset                                TCustomCachedDataSe




TTable   TQuery      TStorageProcedure       TNestedTable    TBDEClientDataSet
Základné BDE DataSet triedy
 TDataSet - Abstraktná trieda
  obsahujúca základné vlastnosti,
  metódy a udalosti pre prácu s dátami
 TBDEDataSet - Definuje BDE
  funkcionalitu pre DataSet
 TDBDataSet – Definuje konektivitu
  pre databázy (popis, vytvorenie a
  udržiavanie databázového spojenia)
Komponent Table
 Poskytuje priamy prístup k všetkým záznamom a poliam
  príslušnej databázovej tabuľky
 Pracuje iba nad jednou tabuľkou, s možnosťou
  prepojenia na index
 Implementuje metódy pre sprístupnenie (pohyb),
  vyhľadávanie, pridávanie, editáciu a mazanie záznamov,
  ďalej metódy pre vytvorenie a zrušenie tabuľky
 Poskytuje metódy pre filtráciu, triedenie záznamov
 Spracovávanie dát sa vykonáva na strane klienta
 Komponent využiteľný najmä pre prácu s lokálnou
  súborovou databázou (dBase, Paradox, FoxPro...)
 Použitie pri databázovom systéme nevyžaduje zadávanie
  SQL
 Je doporučená pre prácu s malými tabuľkami
Komponet Query
   Komponet založený na báze SQL
   Sprístupňuje dáta jedneho alebo viacerých databázových objektov
    (tabuliek, pohľadov...) použitím SQL príkazu
   Pracuje zo vzdialenými databázami ako aj lokálnymi súborovými
    databázami typu Paradox, FoxPro, ASCII
   Podporuje používať heterogénne dotazy
   Implementuje metódy pre lokálne spracovanie záznamov ako v
    prípade komponentu Table
   Poskytuje metódy pre zadanie a spustenie DDL a DML príkazov
   Umožňuje sprístupniť a spracovať výsledok SQL dotazu
   Automatická možnosť editácie záznamov pre tzv. „Live“ dotazy
    (metódami ako v prípade Table)
   Má podporu pre vykonanie modifikácie záznamov v DBS
   Je dôležitým komponentom pre vývoj aplikácii pracujúcich nad
    vzdialenými databázami v prostredí klient/Server
Komponent StorageProc
 Komponent zastupuje uloženú
  procedúru na databázovom serveri
 Poskytuje metódy pre:
   zadávanie vstupných parametrov
   Spustenie procedúry na databázovom
    serveri
   Získanie výstupnej hodnoty prípadne
    spracovanie návratovej množiny
    záznamov (ako pri príkaze SELECT)
Komponent UpdateSQL
 Poskytuje možnosť, prostredníctvom SQL editovať tzv.
  read-only objekty databázy reprezentované
  komponentmi Query a StorageProc
 Pre objekt sa definujú parametrické príkazy pre
  modifikáciu INSERT, UPDATE, DELETE
 Objekt triedy TUpdateSQL sa prepája s príslušným
  dataset objektom
 Komponent poskytuje metódy pre nastavenie
  parametrov editovacích príkazov
 Nastavenie a samotné spustenie príkazov sa vykonáva
  pri vzniknutí udalosti ApplyUpdate v príslušnom
  dataset objekte
 Použitie komponenty je možné v prípade nastavenia
  vlastnosti dataset objektu CachedUpdate
Komponent TDatabase
 Rozhranie pre riadenie spojenia nad
  jednou databázou
 Poskytuje:
     Perzistentné databázové spojenie
     Prispôsobiť prihlasovanie do databázy
     Riadenie transakcii
     Definovanie parametrov spojenia s
      databázou (zadanie ovládača, lokálizáciu
      databázy...)
Ostatné BDE komponenty:
 TBatchQuery – komponent pre
  vykonávanie operácie nad skupinou
  záznamov alebo celou tabuľkou (pridávanie
  záznamov, mazanie záznamov, kopírovanie
  dátovej sady)
 TSession – komponent pre globálne
  riadenie skupiny databázových spojení z
  aplikácie (štandardne komponenty
  používajú session definovanej BDE
  administrátorom)
Zobrazenie a riadenie dát:
Data-Aware komponenty


 Komponenty pre zobrazenie a interaktívne riadenie
  dát databázy z aplikácie
 Vizuálne komponenty, slúžia na tvorbu
  užívateľských formulárov
 Poskytujú prostriedky pre formátovanie výstupu
 Majú definované udalosti, ktoré možno ošetriť
 Každá komponenta sa prepája z dátovým zdrojom,
  nad ktorým bude pracovať (TDataSource)
 Rôzne komponenty, môžu pracovať s rovnakým
  zdrojom – rôzne pohľady na dáta
Tabuľka – DBGrid
               Umožňuje zobrazovať a editovať dáta
                v tabuľkovej forme
               formátuje výstupné hodnoty (písmo,
                farba, zarovnanie...)
               Poskytuje množstvo volieb
                ovplyvňujúce správanie komponenty v
                aplikácii (zobrazenie mriežky,
                zobrazenie indikátora, rolovacích
                líšt...)
               Umožňuje pohyb po záznamoch –
                posun v rámci dátového zdroja
                (scrollovanie)
               Označovanie záznamov (výber iba
                jedného záznamu, viacnásobné
                označenie)
               Udalosti pre ošetrenie vstupu na
                úroveň bunky (OnCellClick,
                OnTitleClick, OnColEnter,
                OnColExit,...)
               Možnosť vlastného zobrazenia bunky
                (vykreslenie obrázku)
               Zobrazovanie stĺpcov dátového zdroja
                je vykonávaná automatický na základe
                metadát alebo voliteľne definovateľné
     Navigácia – DBNavigator


 Sada navigačných tlačidiel, umožňujúca interaktívne
  vykonávať posun po záznamoch dátového zdroja -
  nasledujúci, predchadzajúci, prvý, posledný záznam
 Tlačidla, ktorá prepínajú mód dátového zdroja do módu
  Insert, Edit, Browse (New, Edit, Post, Cancel)
 Tlačidlo pre odstránenie záznamu (delete)
 Tlačidlo pre znovunačítanie dátového zdroja (refresh)
 Povolenie a zakázanie prístupu k tlačidlám je riadenie
  automatický
 Zobrazenie tlačidiel je nastaviteľné
Data-Aware komponenty
pre text
              Komponenty pre
               zobrazenie hodnoty
               jedného stĺpca
               aktuálneho záznamu z
               dátového zdroja

              DBEdit – Edit box pre
               zobrazenie a editáciu
               stĺpca aktuálneho
               záznamu
              DBLabel – Zobrazenie
               hodnoty stĺpca vo
               forme voľného textu z
               aktuálneho záznamu
Data-Aware komponenty
s výberom hodnôt
             Komponenty zobrazujú
              hodnotu jedného stĺpca,
              pre editáciu umožňujú
              dosadiť hodnotu
              výberom zo zoznamu

             DBComboBox/
              DBListBox –výber a
              dosadenie hodnoty z
              preddefinovaných
              konštantných hodnôt
             DBLookupComboBox/
              DBLookupListBox –
              výber dosadenie hodnoty
              zo sekundárneho zdroja
              dát (prepojenie cez kľúč)
Data-Aware komponenty
pre prácu s BLOB hodnotami
               Komponenty umožňujú
                spracovať BLOB hodnoty a
                dlhé reťazcové hodnoty

               DBMemo – reprezentuje
                viacriadkový edit box pre
                spracovanie textu
               DBRichEdit - reprezentuje
                viacriadkový edit box pre
                spracovanie formátovaného
                textu (rich text)
               DBImage        –    reprezentuje
                grafický obrázok uložený v
                databáze         ako      BLOB.
                Štandardne umožňuje vkladať
                obrázky         prostredníctvom
                shránky
   Podporné Data-Aware
   komponenty




 DBChart – Komponent pre zobrazenie dát z
  dátového zdroja do grafu
 DBCtrlGrid – opakovane zobrazuje záznamy z
  dátového zdroja podľa voľného rozloženia
  formulárových komponentov (vo forme tabuľky).
  Komponenta DBCtrlGrid sa napája na dátový zdroj
  a umiestnené komponenty sa viažu k tomuto zdroju
Tvorba tlačových zozstáv:
Quick Report komponenty


 QuickReport balík je sada komponentov
  určená pre tvorbu tlačových zostáv
 Poskytuje komponenty:
   Pre definovanie rozloženia a riadenia –
    rozvrhnutia položiek na papieri
   Komponenty pre tlač
   komponenty pre export
    Komponent QuickRep
 je kontajnerom pre všetky tlačové komponenty,
  ktoré participujú v zostave
 predstavuje papier, kde je definované rozvrhnutie
  položiek
 Je prepojená s príslušnou dátovou sadou
 Tlačový priestor sa delí na logické oddiely – zóny
  (bands), v ktorých je definované riadenie a
  rozvrhnutie tlačových komponentov
 Obsah tlačovej zostavy môže byť členený na stĺpce
  (štandardné sa používa jednostĺpcová zostava)
 Zóny    (bands)     sú   samostatné     kontajnerové
  komponenty rôznych typov. Typ určuje pravidla pre
  generovanie obsahu v danej časti (zóne) tlačovej
  zostavy
              Zóny zostavy
 QRBand – všeobecný typ pre zónu. Pri návrhu, po
  uložení komponenty sa určí je typ – rola v zostave
 QRSubDetail – slúži pre tvorbu master/detail
  zostavy
 QRStringsBand – Poskytuje mechanizmus na
  zobrazenie dát bez použitia DataSet. Obaľuje triedu
  TString, uchovávajúca zoznam reťazcov, ktorú sú
  zdrojom dát
 QRGroup – slúži pre zoskupovanie záznamov na
  základe definovaného výrazu. Záznam bude
  vytlačený, vždy keď sa dôjde zmene jeho hodnoty
 QRChildBand – slúži pre rozšírenie existujúcej
  zóny. Jej obsah bude vždy uložený pod obsahom
  rodičovskej zóny.
QRBand – typy zón
 rbPageHeader – Tlačí sa vo vrchnej časti každej stránky (tlač na
    prvej stránky je možné zrušiť)
   rbPageFooter – Tlačí sa v spodnej časti každej stránky (tlač na
    poslednej je možné zrušiť)
   rbTitle – Tlačí sa na prvej stránke zostavy po vytlačení hlavičky
   rbColumnHeader – Tlačí sa nad každým stĺpcom a na každej
    stránke vo viacstĺpcovej zostave. V jednostĺpcovej zostave sa tlačí
    raz po hlavičke stránky
   rbGroupHeader – Hlavička pre zónu TQRGroup alebo
    TQRSubDetail. Hlavička sa tlačí pred príslušnou zónou
   rbGroupFooter - Päta pre zónu TQRGroup alebo TQRSubDetail.
    Tlačí sa pod príslušnou zónou
   rbDetail – Tlačí sa pre každý záznam z pripojenej dátovej sady.
   rbSummary – Tlačí sa na konci zostavy po vytlačení všetkých zón
    typu rbDetail a rbGroupFooter
Tlačové komponenty pre zostavy

   QuickReport tlačové komponenty sú ekvivalentné
    štandardnými komponentmi požívané pre tvorbu formulárov
   Komponenty sú ukladané do QuickRep zón (Bands)
   Data-aware QuickReport komponenty:
       TQRDBText – Ekvivalent k TDBText – používa sa na zobrazenie
        obsahu poľa (text, číslo, dátum,...) zo záznamu pripojenej
        dátovej sady.
       TQRDBRichText – slúži pre zobrazenie formátovaného textu
        uloženého v poli typu BLOB (RTF formát)
       TQRDBImage - slúži pre zobrazenie grafického obrázku
        uloženého v poli typu BLOB
       TQRExpr – zobrazenie výrazu vytvoreného z hodnôt poli
        záznamu z databázy
       QRExprMemo – zloženie QRMemo a QRExpr. Umožňuje to textu
        vkladať hodnoty vo forme {výrazu}
QuickReport doplnkové tlačové
komponenty
 QRLabel – statický text na stránke
 QRSysData – zobrazenie systémových údajov
  (aktuálny dátum, čas, číslo stránky...)
 QRMemo – ekvivalent k TMemo, zobrazuje statický
  viacriadkový text
 QRRichText – zobrazuje formátovaný
 QRShape – „dekoračný“ komponent pre zobrazenie
  geometrických útvarov (ekvivalent k TShape)
 QRImage – zobrazuje statický grafický obrázok na
  stránke (ekvivalent k TImage)
Komponenty pre prezeranie,
       skladanie a exporovanie
   QRCompositeReport – zjednocuje separátne tlačové
    zostavy pre spoločnú tlač.
   QRPreview – komponent umožňujúci vložiť do programu
    podporu pre predbežné prezeranie výstupu zo zostavy
   Exportné filtre – QuickReport paleta má tri komponenty,
    podporujúce export obsahu zostavy do súboru. Exportovať
    zo zostavy je možné iba obsah komponent, ktoré produkujú
    text: TQRLabel, TQRDBText, TQRExpr, TQRMemo,
    TQRSysdata a TQRExprMemo
       QRTextFilter – exportuje obsah zostavy do ASCII, kde
        jednotlivé hodnoty sú oddelené medzerou
       QRCSVFilter – exportuje obsah zostavy do CSV formátu
        (Comma Separated Variables).
       QRHTMLFilter – exportuje obsah zostavy do HTML formátu
   QRChart – komponent pre vytvorenie grafu v zostave
    (odvodený od TChart)

								
To top