200 likes | 325 Views
Delphi programozás. Delphi programozás alapjai. Nagyváradi Anett anettn@morpheus.pte.hu http://morpheus.pte.hu/~anettn PTE PMMK MIT. Delphi programozás. 4. ELŐADÁS. Adatbázis kezelés Delphiben. Delphi programozás. Adatbázis kezelő alkalmazás. Funkciók:
E N D
Delphi programozás Delphi programozás alapjai Nagyváradi Anett anettn@morpheus.pte.hu http://morpheus.pte.hu/~anettn PTE PMMK MIT
Delphi programozás 4. ELŐADÁS Adatbázis kezelés Delphiben
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
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
Delphi programozás Delphiből elérhető adatbázisok • Paradox (*.DB) • dBase, Foxpro (*.DBF) • Access (*.MDB) • DB” • InterBase • MS SQL • Oracle • SYSBASE • Informix
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
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)
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
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.
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
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
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
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)
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
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ő
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.
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.
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.