Delphi - Adatbázis létrehozása futási időben

2. rész

forráskód letöltése
Az első évfolyam 16. számában már bemutattuk, hogy hogyan is valósítható meg az, hogy egy tetszőleges típusú adatbázist tetszőleges mező és index szerkezettel hozzunk létre a program futási ideje alatt. Akkor ezt a 3.0-s Delphi-vel valósítottuk meg. Ebben a cikkben azt mutatjuk be, hogy ez a feladat mennyivel egyszerűbben megoldható, ha 4.0-s Delphi-t használunk. Az első évfolyam 16. számában már bemutattuk, hogy hogyan is valósítható meg az, hogy egy tetszőleges típusú adatbázist tetszőleges mező és index szerkezettel hozzunk létre a program futási ideje alatt. Akkor ezt a 3.0-s Delphi-vel valósítottuk meg. Ebben a cikkben azt mutatjuk be, hogy ez a feladat mennyivel egyszerűbben megoldható, ha 4.0-s Delphi-t használunk.

Az OnCreate eseménynél létrehozunk az adatbázishoz egy olyan Alias-t, mely csak a program futása során létezik és amely a program alkönyvtárára mutat.

A TTable komponensnél beállítjuk a DatabaseName, TableName és TableType property-ket.

Mikor ezzel készen voltunk a múltkori példaprogramunknál, akkor forráskód szinten kellett megadnunk a mező és index szerkezetet. A Delphi 4.0-ban ez annyiban módosul, hogy most már vizuálisan hozhatjuk létre mindezt, nem kell a forráskóddal bajlódni.

Van a TTable komponensnek egy FieldDefs property-e. Erre kattintva megjelenik egy kis ablak, melyben elvégezhetjük az adatbázis mezőinek szerkesztését.

Az Add New gombra kattintva létrehozhatunk egy új mezőt. Egy-egy ilyen mezőnek a tulajdonságát az Object Inspector-on keresztül tudjuk beállítani. Itt a DataType property-nél választhatjuk ki a mező típusát, míg a Name property-ben adhatjuk meg a nevét. A mező fizikai hossza a Size property-ben állítható be. Abban az esetben, ha olyan típusú mezőt használunk melynek kötött a hossza, akkor a Size property-ben nyugodtan hagyhatjuk az alapértelmezett nullát. Ilyen mező lehet például a dátum típusú.

A mező szerkezet kialakítása után az indexek hasonlóképpen adhatók meg. A TTable IndexDefs property-ére kattintva egy hasonló ablakot kapunk mint az előbb. Itt szintén létrehozhatunk tetszőleges számú indexet, majd az Object Inspector-ban beállíthatjuk az egyes értékeket.

A Fields property-ben kell megadnunk a mező fizikai nevét. A Name property-ben tetszés szerint elnevezhetjük az adott indexet. Az Options property-t felhasználva tudjuk befolyásolni, hogy milyen is legyen a készítendő index. Például itt adhatjuk meg, hogy az index növekvő vagy csökkenő legyen. Szabályozhatjuk azt is, hogy egyedi indexet készítünk-e, vagy hogy érzékeny legyen a kis és nagy betű közötti különbségre is.
Ezek felhasználásánál viszont vegyük figyelembe azt is, hogy nem minden típusú adatbázisnál (dBase, Paradox, stb.) használható ki az összes tulajdonság.

Ha ez is megvan, akkor forráskód szinten csak annyi a dolgunk, hogy meghívjuk a TTable komponens CreateTable eljárását, és máris létrejön az új adatbázisunk a megfelelő mező és index szerkezettel.

Adatbázis létrehozása futási időben cikksorozat

Adatbázis létrehozása futási időben - 1. rész

Adatbázis létrehozása futási időben - 2. rész