Delphi programozás alapjai Nagyváradi Anett anettn@morpheus.pte.hu http://morpheus.pte.hu/~anettn PTE PMMK MIT
Adatbázis kezelés Delphiben Delphi programozás 4. ELŐADÁS Adatbázis kezelés Delphiben
Adatbázis kezelő alkalmazás Delphi programozás Adatbázis kezelő alkalmazás Funkciók: adatkezelés – tárolt adatok fizikai feldolgozását végzi (állomány nyitása,zárása; adatok törlése, módosítása; lekérdezések futtatása; stb.) alkalmazás logika – helyes működés biztosítása (adatvédelem; hatékonyság, integritás; stb.) felhasználói felület – felhasználóval való közvetlen kapcsolat (felhasználóbarát; tetszetős felület; stb.) Megjegyzés: maga az adatbázis (adatok) nem az alkalmazás része
Adatbázis kezelő architektúrák Delphi programozás Adatbázis kezelő architektúrák Az alkalmazás három része fizikailag is elkülönülhet (külön gépek): Fájl-szerver: mindhárom rész egyetlen gépen helyezkedik el (egyrétegű technika) Hátránya, hogy több-felhasználós munka esetén az adatátvitel leterheli hálózatot és a közös erőforrásokat – teljes adatbázis mozgatása Kliens-szerver: adattárolás központi gépen, kliens gépen a felhasználói felület és az alkalmazás logika adatbázisba be nem épített része (kétrétegű technika) Nem a feldolgozandó adatok, csak a parancs eredménye megy a hálózaton – átviteli teljesítmény javul Több rétegű: az alkalmazás részei kettőnél is több gépen helyezkednek el Kliens oldalon már csak a felhasználói felület található meg
Delphiből elérhető adatbázisok Delphi programozás Delphiből elérhető adatbázisok Paradox (*.DB) dBase, Foxpro (*.DBF) Access (*.MDB) DB” InterBase MS SQL Oracle SYSBASE Informix
Adatbázis kezelés Delphiben Delphi programozás Adatbázis kezelés Delphiben Adatbázisok kezelése speciális komponensekkel történik Különböző adatbázisok egységesen adott komponensekkel érhetők el A beépített osztálygyűjtemény: IDAPI (Integrated Database Application Programming Interface) A komponensek metódusai a beépített adatbázis motor rutinjait használják: BDE (Borland Database Engine) A közvetlen adatelérést a BDE látja el specifikus driverek sgítségével pl. Paradox táblák esetén IDPX32.DLL meghajtó szükséges Egyes meghajtókat a Delphi tartalmazza (natív meghajtók), pl. Paradox-ét
Adatbázis kezelés Delphiben 2 Delphi programozás Adatbázis kezelés Delphiben 2 Adatfeldolgozó parancsok szabványos nyelve: SQL (Structured Query Language) SQL utasítások előállítását a BDE végzi az SQL Links drivercsomag segítségével Megjegyzés: Egy adatbázisos alkalmazást feltelepíthetünk egy Delphi nélküli gépre. Ekkor a BDE használt részét is fel kell telepítenünk az alkalmazás mellé. A szükséges állományok összeállításában telepítő-program készítő alkalmazások állnak rendelkezésre (pl.: InstallShield Express)
Segédprogramok DataBase Desktop - helyi állományok kekzelésére Delphi programozás Segédprogramok DataBase Desktop - helyi állományok kekzelésére BDE Admnistrator – az atbázismotor konfigurációs programja Database Explorer Data Migration Wizard – adatáthelyezés, metaadat SQL Monitor – SQL lekérdezések nyomkövetésére Server Manager – InterBase DB-szever karbantartó programja Window ISQL – InterBase DB-ok kezelésére
Delphi programozás Alias - álnevek Fejlesztés közben az adatok egy konkrét elérési útvonalon találhatóak – exe állományban erre hivatkozunk Átvive az alkalmazást egy másik gépre – régi helyén keresné az adatokat – HIBA Megoldás: újrafordítani a programot a módosított elérési útvonallal – nem túl jó megoldás Jó megoldás: álnevek- Alias-ok használata Alias: tartalmazza az adatok elhelyezkedésére és formátumára vonatkozó infókat lefordítva a programot, az exe állományban csak az aliasra találunk hivatkozást – így az új gépen elég az álnevet átállítani az új elérési útvonalra ezt a feladatot a telepítőprogram látja el
Adatbázis kezelési komponensek Delphi programozás Adatbázis kezelési komponensek Adatelérési komponensek (Data Accsess) DataSource BDE komponensek (BDE) TDataBase adatbázisok TTable táblák TQuery lekérdezések Adatmegjelenítési komponensek (Data Controls) adathozzáférési komponensekhez kapcsolódnak Pl.: TDBEdit, TDBText, TDBGrid, TDBImage, stb.
Datamodule Adatelérési és BDE komponensek Delphi programozás Datamodule Adatelérési és BDE komponensek elhelyezése (lehetséges az aktuális formon is), de célszerű azokat az úgynevezett adatmodulon csoportosítani. File > New > DataModule Az adatmodul külön ablakként jelenik meg, mely futás közben láthatatlan. Így elkülöníthető a felhasználói felület és az adatelérési logika. Megjegyzés: ajánlott a datamodult a formok előtt auto-create létrehozni
BDE komponensek TDataBase: adatbázis TTable: táblák Delphi programozás BDE komponensek TDataBase: adatbázis egy konkrét adatbázis elérését biztosítja jellemzők: AliasName: álnév DatabaseName: adatbázis neve Connected: csatlakozás Name: hivatkozási neve TTable: táblák Fizikai tábla adatainak elérésére Jellemzők: DatabaseName: álnév vagy adatbáziskomponens TableName: listából kiválasztható a kívánt tábla Active: megnyitás ReadOnly: csak olvasható IndexField, IndexFieldName: adatok rendezettség sorrendjét állítja
Adatelérési komponensek Delphi programozás Adatelérési komponensek TDataSource: adatforrás komponens Adatok megjelenítését teszi lehetővé Az adatelérési komponenseket összekapcsolja az adatmegjelenítési komponensekkel Adathalmaz megjelenítése: megjelenítendő elemeket az adatforráshoz kell kapcsolni, majd az űrlapot rá kell irányítani erre a forrásra Jellemzői: DataSet: továbbítandó adat- halmaz neve AutoEdit: boolean, ha értéke igaz, akkor az adathalmaz editálható – hibaforrás lehet, célszerű letiltani
Adatmegjelenítési komponensek Delphi programozás Adatmegjelenítési komponensek Beállítandó tulajdonságok: DataSource – adatforrás, ahonnét veszi az adatokat DataField – listából kiválasztható, hogy a forrás melyik mezőjét jelenítse meg Pl.: TDBEdit TDBText TDBGrid TDBNavigator TDBImage
Delphi programozás Ellenőrzés Mindig vizsgáljuk meg az Object Inspector tartalmát, hogy megfelelően kapcsoltuk-e össze a komponenseket! (piros kérdőjelek jelzik a hibát)
DataBase Desktop Nyissuk meg a segédprogramot a Delphi programozás DataBase Desktop Nyissuk meg a segédprogramot a C:\Program Files\Common Files\Borland Shared\ Lehetőség nyílik: Alias definiálására Táblák létrehozására Táblák feltöltésére SQL lekérdezések programozására SQL lekérdezések tesztelésére Stb. Állítsuk be a megfelelő útvonalakat az egyszerű felhasználás céljából: File > Working Directory File > Private Directory
DataBase Desktop - táblázatkezelés Delphi programozás DataBase Desktop - táblázatkezelés File > New > Table Segítségével hozzunk létre egy Paradox 7 típusú táblát, majd definiáljuk a mezőket és tulajdonságaikat! FieldName – lehetőleg ékezet nélkül Type – menüsorból kiválasztható típusok (jobbegér) Size – szöveges mezőnél értéket kell adni a mező hosszára Key – dupla klikk a mezőn, csillaggal megjelölhető kulcsmező
DataBase Desktop – tábla feltöltés Delphi programozás DataBase Desktop – tábla feltöltés Az elmentett tábla tartalmát feltölthetjük: table > edit data Egyszerre több táblát is megjeleníthetünk, egyesével szerkeszthetjük.
DataBase Desktop – alias készítés Delphi programozás DataBase Desktop – alias készítés Tools > Alias Manager Menüponttal létrehozhatjuk a saját adatbázisunk álnevét. New gombra kattintva, a Path-t megadva és a Database Alias nevet (beszédes név) kitöltve létrejön a megfelelő alias.
Feladat Nézzük meg, hogyan működik a DataBase Desktop rendszer. Delphi programozás Feladat Nézzük meg, hogyan működik a DataBase Desktop rendszer. Hozzunk létre egy Paradox 7 típusú adatbázis, egy táblával, töltsük is fel próbaadatokkal. Hozzunk létre egy egyszerű Delphi alkalmazást, mely alkalmas az adatbázisunk menedzselésére: Adatokat jeleníthetünk meg, módosíthatunk, stb.