adatbáziskezelés delphi 5 alatt -...

Post on 08-Jun-2019

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Adatbáziskezelés Delphi 5 alatt

Bese Antal 2006.http://toni.web.elte.hu/delphi

1. Bevezetés

Számítógépes adattárolás fájlokban.

Az egész adatbázist egy fájlban (Pl.: Access, Interbase,és a legtöbb SQL adatkiszolgáló)

Az adatbázis felbontva táblákra, indexekre, ... (Pl.: Paradox, dBase)

adatbázis könyvtáraktáblák fájlok

Bevezetés folyt.

A Delphi adatbázis-alkalmazások nem közvetlenül kommunikálnak az adatbázisokkal, hanem valamilyen adatbázismotoron keresztül érik el az adatbázist. Delphi alatt a

Borland Database Engine (BDE), és a

Microsoft ActiveX Data Objects (ADO) használata terjedt el.

2. BDE (Borland Database Engine)

Számos adatforrást kezel, elérésüket közvetlen módon valósítja meg.

pl. dBase, FoxPro, Access, ...

Kapcsolatot tud létesíteni olyan adatbázis-kiszolgálókkal, mint az Oracle, DB2, Sybase, sőt kapcsolatba tud lépni ODBC meghajtókkal is (ekkor inkább az ADO-t használjuk).

Kifinomult cache-kezelés, stb..

3. Ado (Microsoft ActiveX Data Objets)

Microsoft fejlesztés...

A MS OLE Db adatelérési technológián alapul, amely elérést biztosít relációs és nem-relációs adatbázisokhoz, levelezési és fájlrendszerekhez, és egyedi üzleti objektumokhoz.

Nem igényli a BDE könyvtárait, de szükségesek hozzá az ADO/OLE DB futás idejű csomagjai (Windows 2000-től felfelé).

4. Hordozhatóság

Ha a BDE-megközelítést választjuk az adatbázis eléréséhez, akkor mindenkféleképpen telepítenünk kell a már megírt adatbázis-kezelőalkalmazásunk mellé a BDE-t is.

Éppen ezért érdemes valamilyen telepítés-előkészítő programot használnunk (Pl.: InstallShield, Inno Setup, ...).

Hordozhatóság folyt.

Ezek a programok könnyen konfigurálhatóak,

segítségükkel a felhasználó zökkenőmentesen telepítheti a BDE-t

A Delphi különféle licenszei foglalkoznaka BDE terjeszthetőségével - "elvileg" szabadon terjeszthető).

Az ADO ehhez képest nem igényel semmilyen új telepítést.

5. Az adatbázis létrehozása

Az adatbázis létrehozásának legegyszerűbb módja a Delphi 5-el szállított Database Desktoputility használata.

Első lépésként egy alias (másodlagos) nevet kell létrehoznunk, ami egy elérési utat jelent

Második lépésként pedig az adatbázisunkhoz tartozó táblákat kell megkonstruálnunk.

6. A Delphi adatbázis-komponensei

A komponenspaletta Data Acces (Adatelérés) lapján találhatóak azok az összetevők, amelyekkel a BDE-központú adatbázisokat használhatjuk.

Legtöbbjük nem látható komponens (adatkapcsolatok, táblák, lekérdezések, ...).

Az adatok megjelenítésére szolgálókomponenseket a Data Controls lapon találjuk.

7. Adatelérés a Delphiben

Az adatbázis eléréséhez mindenféleképpen szükségünk van egy adatforrásra, melyet a DataSource kompomenssel adhatunk meg.

A DataSource nem közvetlenül az adatbázisra, hanem egy DataSet (Adatkészlet) nevűkomponensre hivatkozik

(pl. egy tábla, lekérdezés, tárolt eljárás, … , ADO, InterBase vagy más egyéni adatkészlet).

8. Megvalósítás

Amint elhelyeztünk egy adatkészletet a formon, a DataSourcekomponens DataSettulajdonságával hivatkozhatunk rá. Segítség: az Object Inspector megadja az elérhetőadatkészletek listáját.

9. A „Table” komponens

Az egyik legegyszerűbb módszer, hogy egy már meglévő adattáblánk tartalmát elérjük. A komponens DatabaseName tulajdonságával kapcsolhatjuk össze az adatbázisunkkal.Egy elérési utat, vagy egy fiktív alias nevet (másodnév) kell megadnunkAz elérhető adatbázisokat szintén megjeleníti az Object Inspector.A TableName tulajdonságban adhatjuk meg a megjeleníteni kívánt adattábla nevét.

10. A „Query” komponens

Nagyon hasonló a Table-höz

Az SQL nyelven alapuló lekérdezések megvalósításra használhatjuk.

A Table komponenssel ellentétben, csak a Database tulajdonságát kell állítanunk

(a Tablename tulajdonságnak itt nem is lenne értelme).

11. Lekérdezések használata - a Query komponens

A lekérdezést a Query komponens Sql tulajdonságában tudjuk definiálni.Query1.Sql.Add('SELECT * FROM tabla;');

A beírt lekérdezést letörölhetjük:Query1.Clear;

Lekérdezés lefuttatásaQuery1.Open;

Lekérdezés lezárásaQuery1.Close;

12. Az adatkészlet

Az adatkészletünknek többféle állapotai lehetnek, attól függően, hogy éppen milyen műveletet hajt(ott)unk rajta végre. Az éppen aktuálisat a State tulajdonság jelöli, érdekesebb példák:dsBrowse - az adatkészlet normál böngésző

üzemmódban van,dsEdit - az adatkészelt szerkesztő

üzemmódban van,dsInsert - új rekordot készülünk beszúrni (pl. az

insert metódussal),dsInactive - az adatkészlet le van zárva.

13. Összefoglalás - adatok elérése

Adatbázis létrehozásaTervezési időbenFutási időben

Adatforrás összekapcsolása az adatbázissal DataSource DataSetAdatbázis komponensek Databasename + Tablename

14. Adatok megjelenítése

A megszokott Windows-os adatkezelőkomponensek nagy részének létezik olyan megfelelője, mely valamilyen módon kapcsolatban áll egy adatbázissal.Érdemes áttanulmányozni a komponenspaletta Data Controls (Adatvezérlők) lapját.

Ezeket a komponenseket találhatjuk ott: DBGrid, DBNavigator, DBText, DBEdit, DBMemo, DBImage, DBListBox, DBComboBox, DBCheckBox, DBRadioGroup, DBRichEdit,DBCtrlGrid, DBChart.

Adatok megjelenítése folyt.

Egy új vezérlő elem.

DBNavigator - egy olyan gombgyűjtemény, amellyel könnyen mozoghatunk az adataink között, és adhatunk ki rájuk vonatkozóutasításokat (szerkesztés - edit, mentés - post, stb).

15. Adatmezők elérése

Field komponens (TField osztály egy példánya)a Delphi a adatfüggő vezérlői közvetlenül az adatbázis mezőire vonatkozó Fieldobejktumokhoz kapcsolódnak.Amikor adatkészletet nyitunk meg, akkor a Delphi automatikusan létrehozza őket már futási időben.A táblák és lekérdezések ezeket a mezőket a Fields tulajdonságban tárolják (lényegében egy tömbben).

Adatmezők elérése folyt.

Pl. az elérésre:

Table1.Fields[0].AsString Table1.FieldByName('mezo_neve').AsStringTable1.['mezo_neve'].AsString

16. Tervezési tipp - az Adatmodul használata

Eddig egy adatbáziskezelő program fejlesztése során az adatelérési és adatfüggő vezérlőket is felpakoltuk a formra.

Ez egy egyszerű program esetén elég, DE egy összetettebb/bonyolultabb feladatnál nagyon bonyolítja a dolgunkat (konzisztens tárolás, ...)

Ötlet: a nem látható vezérlőket tegyük egy tárolóba - adatmodul (TDataModul osztály).

Tervezési tipp - az Adatmodul használata folyt.

Csak tervezési időben létezik.

Fő felhasználási területe - adatelérési komponensek több form közötti megosztása.

Létezik egy ún. adatdiagram nézete, ahol alapvető UML-elemekkel találkozhatunk.

vége.

top related