HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A TFieldDataLink osztály


Példaprogram letöltése

4381 bájt

Amikor a Delphi-ben adatbázis kezelő programokat készítünk, az adatbázis komponenseket hozzákötjük egy DataSource komponenshez, azt pedig valamilyen adatforráshoz, például Table vagy Query komponensekhez. Az adatbázis komponens és a DataSource komponens közötti kapcsolatot nevezzük DataLink-nek. Ezt a kapcsolatot a TDataLink osztály vagy annak leszármazottai segítségével hozhatjuk létre.

A Delphi az adatbázis komponensek és az adatforrás közötti kétirányú kommunikációhoz DataSource és DataLink objektumokat használ.
Az adatforrás arra használja ezeket az objektumokat, hogy jelezze a vizuális komponensek számára az új adat megjelenését vagy változását. A komponensek pedig arra használják ezt a kapcsolatot, hogy lekérdezzék vagy módosítsák egy mező tartalmát.
A DB unitban implementált TDataLink, az adatkapcsolatok terén ősosztálynak számít. Ezt az osztályt csak nagyon ritkán használjuk közvetlenül. Általában valamelyik leszármazott osztályát használjuk, vagy készítünk egy új osztályt, amit ebből származtatunk. Az egyik legfontosabb leszármazott osztálya a TFieldDataLink, amely segítségével egy adatmezőhöz kapcsolódhatunk.
Az osztály implementációja a DBCtrls unitban található.
A TFieldDataLink osztályt általában más osztályokba beépített módon használjuk, az adatkapcsolat megvalósításához. Feladata, hogy hidat képezzen az adatforrás és egy vizuális komponens között.
A mellékelt példaprogramban arra használjuk fel ezt az osztályt, hogy tulajdonságai, metódusai és eseményei segítségével adatokat vigyünk fel és módosítsunk egy táblában. Az adatok megjelenítéséhez és szerkesztéséhez hagyományos Edit komponenseket használunk. Az Edit mezők frissítését és a felvitt adat ellenőrzését a TFieldDataLink osztály eseményei segítségével vezéreljük és korlátozzuk.
Az FLink (TFieldDataLink) objektumot nekünk kell létrehoznunk a Form, Create metódusában. Itt kell beállítanunk az egyes tulajdonságait és eseménykezelőit. Az objektumot az adattábla Nev mezőjéhez rendeljük hozzá. Az Edit1 mezőt a TFieldDataLink osztály segítségével, az Edit2-t pedig hagyományos módon kezeljük.
Az FLink objektum, DataSource tulajdonságában megadhatunk egy DataSource objektumot, amely az FLink-et hozzáköti az adattáblához. A FieldName property-ben megadhatjuk annak az adatmezőnek a nevét, amelyhez kapcsolódni szeretnénk. Ezután metódusok és események segítségével kezelhetjük a megjelenítendő adatok változását vagy módosítását.
Property-k
Active
property Active: Boolean;
Csak olvasható. Ha a FieldDataLink-hez kapcsolt adatforrás nincs megnyitva, akkor az értéke hamis, ellenkező esetben igaz.
ActiveRecord
property ActiveRecord: Integer;
Az objektum rendelkezik egy bufferrel, amely egynél több rekordot is tartalmazhat. A buffer méretét a BufferCount property-ben állíthatjuk be. A bufferen belül az aktív rekordot ezzel a property-vel jelölhetjük ki.
Bof
property Bof: Boolean;
Csak olvasható. Értéke igaz ha az adatforrás rekordmutatója az első helyen áll, ellenkező esetben hamis.
BufferCount
property BufferCount: Integer;
Az objektum rekord bufferének méretét állíthatjuk be vele. Értéke az egyszerre beolvasandó rekordok számát jelenti. Például egy táblázat esetében egyszerre olvashatjuk be a látható rekordokat.
CanModify
property CanModify: Boolean;
Csak olvasható. Értéke megadja, hogy a FieldDataLink-hez rendelt komponens módosíthatja-e az adott rekordot.
Control
property Control: TComponent;
Ezen a property-n keresztül a FieldDataLink-hez egy vizuális komponenst rendelhetünk. Ez a property arra szolgál, hogy a hozzárendelt vizuális komponens tulajdonságait és metódusait el tudjuk érni. A komponens elérése során típuskényszerítést kell alkalmazni.
DataSet
property DataSet: TDataSet;
Csak olvasható. A DataSource property-ben megadott adatforrás közvetlen elérését teszi lehetővé.
DataSourceFixed
property DataSourceFixed: Boolean;
Ha értékét igazra állítjuk a DataSource property tartalmának módosítását letilthatjuk, hamis érték megadása esetén pedig engedélyezhetjük azt.
Editing
property Editing: Boolean;
Csak olvasható. Segítségével megtudhatjuk, hogy az adatforrás szerkeszthető módban van-e. Értéke akkor igaz, ha az adatforrás szerkesztés alatt áll.
Eof
property Eof: Boolean;
Csak olvasható. Értéke igaz, ha az adatforrás rekordmutatója az utolsó helyen áll.
Field
property Field: TField;
Csak olvasható. A FieldName property-ben megadott adatmező közvetlen elérésére szolgál.
FieldName
property FieldName: String;
Itt adhatjuk meg annak az adatmezőnek a nevét, amelyhez a FieldDataLink-et láncolni szeretnénk.
ReadOnly
property ReadOnly: Boolean;
Igaz érték megadása esetén letilthatjuk az adatforrás szerkeszthetőségét. Ha értékét olyankor állítjuk igazra, amikor az adatforrás szerkesztő módba van kapcsolva, a szerkesztő mód megszűnik.
RecordCount
property RecordCount: Integer;
Csak olvasható. A bufferban található rekordok számát kérdezhetjük le vele.
Események
OnActiveChange
property OnActiveChange: TNotifyEvent;
Akkor jön létre, amikor az adatforrás aktív állapota változik.
OnDataChange
property OnDataChange: TNotifyEvent;
Minden alkalommal meghívódik, amikor az adatforrás valamilyen formában változik. Ez a változás lehet a rekordmutató mozgása vagy új érték megjelenése.
OnEditingChange
property OnEditingChange: TNotifyEvent;
Akkor jön létre, amikor az adatforrás szerkesztő üzemmódba kerül, vagy éppen kilép abból.
OnUpdateData
property OnUpdateData: TNotifyEvent;
Akkor jön létre, amikor valamilyen függőben lévő változtatásokat végre kell hajtani az adatforráson.
Metódusok
Edit
function Edit: Boolean;
Az adatforrás szerkesztő módba történő kapcsolására szolgál.
Visszatérési érték
Igaz, ha az adatforrás szerkesztő módba állítható volt. Ha az adatforrást nem sikerült szerkeszthető állapotba kapcsolni, a visszatérési érték hamis.
Modified
procedure Modified;
Végrehajtja azokat a változásokat, amelyek a hozzárendelt mezőre vonatkoznak, de még nem lettek végrehajtva.
Reset
procedure Reset;
Megszakít minden függőben lévő változtatást és kiváltja az OnDataChange eseményt.
UpdateRecord
procedure UpdateRecord;
Végrehajt minden függőben lévő módosítást.

Cikksorozat

#IDKategóriaCikk címeSorozat
2535C#Oracle adatbázis-elérés alapjai1. rész
2546C#SQL utasítások végrehajtása2. rész
2557C#Tárolt eljárások és függvények fejlesztése3. rész
2565C#Csomagok fejlesztése4. rész
2573C#Adatbázis triggerek fejlesztése5. rész
2581C#Kivételek kezelése PL/SQL-ben6. rész
3276C#Kurzorok deklarálása PL/SQL-ben7. rész
3297C#Tömb adattípus létrehozása és kezelése PL/SQL-ben8. rész
3326C#Adatbevitel tömb-adattípussal rendelkező oszlopokba9. rész
3357C#Adattárolás beágyazott tábla-típusú oszlopokban10. rész
3388C#Adatok beszúrása beágyazott táblákba11. rész
3418C#Index létrehozása PL/SQL-ben12. rész
3444C#Szekvenciák használata13. rész
3488C#Adatok betöltése állományokból14. rész
1765DelphiOracle adatbázis-elérés alapjai15. rész
1774DelphiSQL utasítások végrehajtása16. rész
1784DelphiTárolt eljárások és függvények fejlesztése17. rész
1794DelphiCsomagok fejlesztése18. rész
1803DelphiAdatbázis triggerek fejlesztése19. rész
1815DelphiKivételek kezelése PL/SQL-ben20. rész
3256DelphiKurzorok deklarálása PL/SQL-ben21. rész
3287DelphiTömb adattípus létrehozása és kezelése PL/SQL-ben22. rész
3318DelphiAdatbevitel tömb-adattípussal rendelkező oszlopokba23. rész
3348DelphiAdattárolás beágyazott tábla típusú oszlopokban24. rész
3377DelphiAdatok beszúrása beágyazott táblákba25. rész
3408DelphiIndex létrehozása PL/SQL-ben26. rész
3436DelphiSzekvenciák használata27. rész
3467DelphiAdatok betöltése állományokból28. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 117. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |