HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A ClientDataSet komponens


ClientDataSet 7. rész

Példaprogram letöltése

61139 bájt

A TClientDataSet osztályról szóló cikksorozat utolsó részében a még nem tárgyalt metódusokat nézzük meg, valamint az osztály eseményeiről beszélünk részletesen. A mellékelt példában a ClientDataSet komponens adatait egy egyszerű XML fájlból olvassuk ki, ami nem DataPacket formátumú. Az XML fájlból az adatokat egy XMLTransformProvider szolgáltatja, ami egy XTR fájl segítségével fogja az XML fájlt átalakítani XML DataPacket formátumúvá, amit a ClientDataSet komponens képes fogadni. Az XML fájl ráadásként képeket is tartalmaz.

UndoLastChange
Osztály: TCustomClientDataSet
function UndoLastChange(
FollowChange: Boolean
): Boolean;
Érvényteleníti az utolsó módosítást, rekordbeszúrást, vagy törlést.
Paraméterek
FollowChange: Boolean
Ha a FollowChange paraméter értéke igaz, akkor arra a rekordra pozícionál, amellyel az utolsó módosítás történt (amely módosítást érvénytelenítettük). Ha hamis, akkor az aktuális rekordon marad a kurzor.
UpdateStatus;
Osztály: TCustomClientDataSet
function UpdateStatus: TUpdateStatus;
Megadja az aktuális rekord állapotát. Az állapot a szerkesztés, beszúrás és törlés műveletekkel változik. A következő értékei lehetnek:
  • usUnmodified: nem történt módosítás;
  • usModified: a rekord adatai módosítva lettek, amik még nem lettek véglegesítve;
  • usInserted: új rekord, ami még nem lett véglegesítve;
  • usDeleted: törölt rekord.
AfterApplyUpdates
Osztály: TCustomClientDataSet
property AfterApplyUpdates: TRemoteEvent;
Az esemény az adatok véglegesítése után jön létre, de még a Reconcile függvény meghívása előtt (nem ugyanaz, mint a BeforeApplyUpdates esemény!). Az ApplyUpdates eljárásnál részletesen ismertetve van, hogy milyen események történnek az eljárás meghívása után.
AfterExecute
Osztály: TCustomClientDataSet
property AfterExecute: TRemoteEvent;
Az Execute metódus meghívása után jön létre ez az esemény. Az Execute eljárásnál részletesen ismertetve van, hogy milyen események történnek az eljárás meghívása után.
AfterGetParams
Osztály: TCustomClientDataSet
property AfterGetParams: TRemoteEvent;
Az esemény azután következik be, miután az adatkészlet megkapta a paramétereket a provider-től.
AfterGetRecords
Osztály: TCustomClientDataSet
property AfterGetRecords: TRemoteEvent;
Az esemény azután jön létre, miután az adatkészlet egy adatcsomagot kapott a provider-től.
AfterRowRequest
Osztály: TCustomClientDataSet
property AfterRowRequest: TRemoteEvent;
Az esemény azután következik be, miután az adatkészlet új információkat kapott az aktuális rekordról.
BeforeApplyUpdates
Osztály: TCustomClientDataSet
property BeforeApplyUpdates: TRemoteEvent;
Az esemény azelőtt következik be, mielőtt az adatok véglegesítésre kerülnek a szerveren.
BeforeExecute
Osztály: TCustomClientDataSet
property BeforeExecute: TRemoteEvent;
Az esemény még azelőtt jön létre, mielőtt az adatkészlet futtatná a lekérdezést vagy a tárolt eljárást.
BeforeGetParams
Osztály: TCustomClientDataSet
property BeforeGetParams: TRemoteEvent;
Az esemény azelőtt következik be, mielőtt az adatkészlet fogadná a provider-től a paramétereket.
BeforeRowRequest
Osztály: TCustomClientDataSet
property BeforeRowRequest: TRemoteEvent;
Azelőtt jön létre, mielőtt az adatkészlet új információkat fogadna az aktuális rekordról.
OnReconcileError
Osztály: TCustomClientDataSet
property OnReconcileError: TReconcileErrorEvent;
Akkor jön létre ez az esemény, amikor szükséges a nem véglegesített adatok egyeztetése. Ez az esemény csak azokat a hibákat kezeli, amelyek nem lettek megoldva az OnUpdateError eseményben.
Az esemény minden egyes rekordnál külön meghívásra kerül, amely rekordoknál hiba lépett fel a véglegesítéskor.
A DataSet paraméterben megkapjuk azt az adatkészletet, amely a hibát generálta. Master-detail kapcsolatnál, ha a hiba a detail adatkészletnél történt, akkor ezt az adatkészletet érhetjük el a paraméteren keresztül, még akkor is, ha a master adatkészlet OnReconcileError eseménye következett be. A paraméterként megkapott adatkészletnél ne végezzünk olyan műveleteket, amely a kurzor elmozdulását vonja maga után (pl. Next metódus). A field komponensek NewValue, OldValue és CurValue property-jeinek értékeiből kideríthetjük, hogy vajon mi okozhatta a hibát.
Az E paraméter egy EReconcileError objektumra mutat, amelyben a pontos hibaüzenet, és a hiba oka található. Ezt az információt használhatjuk fel arra, hogy hogyan válaszoljunk a hibára.
Az UpdateKind paraméterből megtudhatjuk, hogy milyen műveletet kellett volna elvégezni a rekorddal, ami közben hiba történt (rekord beszúrása, módosítása vagy törlése).
Az Action paraméterben adhatjuk meg azt, hogy mi történjen, miután az eseménykezelő eljárás lefutott. Ha az eseményben sikerült a hiba okát megtalálni, és a hibát kijavítani, a paraméter értékét állítsuk raCorrect-re.

Cikksorozat

#IDKategóriaCikk címeSorozat
3047WindowsAz XML bemutatása1. rész
3059WindowsAz XML bemutatása2. rész
3068WindowsAz XML bemutatása3. rész
3077WindowsAz XML bemutatása - deklarációk4. rész
3086WindowsAz XML bemutatása - MSXML, XSLT5. rész
3094WindowsAz XML bemutatása - DTD6. rész
3105WindowsXML adatok megjelenítése Excel-ben7. rész
3114WindowsDokumentum hivatkozások az XML-ben8. rész
3123WindowsXML adattípusok9. rész
3132WindowsXML adatok HTML oldalakon10. rész
3141WindowsXML Notepad11. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 548. 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 |