Unit 'msebufdataset' Package
[Overview][Constants][Types][Classes][Procedures and functions][Index] [#msegui]

tmsebufdataset

[Properties (by Name)] [Methods (by Name)]

Keeps three buffers: the record buffer holds all fetched records (fkdata and fkinternalcalc field values — see oninternalcalcfields)

Declaration

Source position: msebufdataset.pas line 789

type tmsebufdataset = class(tmdbdataset,iblobchache,idatasetsum,imasterlink,idbdata,iobjectlink)

public

  constructor create(); override;

  destructor destroy; override;

  procedure enablecontrols; override;

  procedure beginlookupupdate;

  procedure endlookupupdate;

  procedure updaterecord; override;

  procedure post; override;

  procedure gotobookmark(); overload;

  function findbookmark();

  property bookmarkdata: bookmarkdataty; [rw]

  function recnobookmark();

  function createblobstream(); override;

  function getfielddata();

  procedure setfielddata();

  procedure Append;

  procedure notifycontrols;

  procedure recover;

  procedure startlogging;

  procedure stoplogging;

  property logging: Boolean; [r]

  procedure savetostream();

  procedure loadfromstream();

  procedure savetofile();

  procedure loadfromfile();

  function streamloading;

  function refreshrecord();

  procedure copyfieldvalues();

  function isutf8; virtual;

  procedure bindfields();

  function findfields();

  procedure fieldtoparam();

  procedure oldfieldtoparam();

  procedure stringtoparam();

  function recordisnull;

  procedure clearrecord;

  procedure clearfilter;

  property filtereditkind: filtereditkindty; [rw]

  procedure beginfilteredit();

  

Between beginfilteredit and endfilteredit, the dataset's bound edit widgets display and edit a separate filter-value record instead of the current data record

  procedure endfilteredit;

  function beginfiltervalue();

  procedure endfiltervalue();

  procedure filterchanged;

  function fieldfiltervalue();

  function fieldfiltervalueisnull();

  function checkfiltervalue();

  function checkfiltervalues();

  function locate();

  function locaterecno();

  function countvisiblerecords;

  procedure fetchall;

  procedure resetindex;

  function createblobbuffer();

  property changecount: Integer; [r]

  

Number of posted, pending (not yet applied) record changes

  property changerecords: recupdateinfoarty; [r]

  property applyerrorcount: Integer; [r]

  property applyerrorrecords: recupdateinfoarty; [r]

  property appliedcount: card32; [r]

  procedure applyupdates();

  procedure applyupdate();

  function recapplying;

  procedure dropupdates;

  procedure cancelupdates; virtual;

  procedure cancelupdate(); virtual;

  function updatestatus();

  procedure currentbeginupdate; virtual;

  procedure currentendupdate; virtual;

  function currentrecordhigh;

  property recnozerobased: int32; [rw]

  procedure currentclear();

  procedure currentassign();

  property currentisnull []: Boolean; [r]

  property currentasvariant []: variant; [rw]

  property currentasboolean []: Boolean; [rw]

  property currentasinteger []: Integer; [rw]

  property currentaslargeint []: Int64; [rw]

  property currentasid []: Int64; [rw]

  property currentasfloat []: Double; [rw]

  property currentasdatetime []: tdatetime; [rw]

  property currentascurrency []: currency; [rw]

  property currentasmsestring []: msestring; [rw]

  property currentasguid []: tguid; [rw]

  procedure currentbmclear();

  procedure currentbmassign();

  property currentbmisnull []: Boolean; [r]

  property currentbmasvariant []: variant; [rw]

  property currentbmasboolean []: Boolean; [rw]

  property currentbmasinteger []: Integer; [rw]

  property currentbmaslargeint []: Int64; [rw]

  property currentbmasid []: Int64; [rw]

  property currentbmasfloat []: Double; [rw]

  property currentbmasdatetime []: tdatetime; [rw]

  property currentbmascurrency []: currency; [rw]

  property currentbmasmsestring []: msestring; [rw]

  property currentbmasguid []: tguid; [rw]

  procedure getcoldata();

  procedure asarray();

  function getdata();

  procedure sumfield();

  function sumfielddouble();

  function sumfieldcurrency();

  function sumfieldinteger();

  function sumfieldint64();

  property delayedapplycount: Integer; [rw]

published

  property options: bufdatasetoptionsty; [rw]

  property logfilename: filenamety; [rw]

  

Log file for bdo_local mode

  property cryptohandler: tcustomcryptohandler; [rw]

  property packetrecords: Integer; [rw]

  

Records are fetched from the database in packets of this size (a negative value fetches all records at once, the default)

  property indexlocal: tlocalindexes; [rw]

  

Memo and blob field values are not stored in the record buffer but fetched on demand, so they can not be used as index fields here

  property onupdateerror: updateerroreventty; [rw]

  property oninternalcalcfields: internalcalcfieldseventty; [rw]

  

Fires with fetching True right after a record is fetched from the database, and with fetching False right before a record is posted

  property beforeapplyupdate: tdatasetnotifyevent; [rw]

  property afterapplyupdate: tdatasetnotifyevent; [rw]

  property beforebeginfilteredit: filterediteventty; [rw]

  property afterbeginfilteredit: filterediteventty; [rw]

  property beforeendfilteredit: filterediteventty; [rw]

  property afterendfilteredit: filterediteventty; [rw]

  property beforefilterchanged: bufdataseteventty; [rw]

  property afterfilterchanged: bufdataseteventty; [rw]

  property Active;

end;

Inheritance

tmsebufdataset

  

Keeps three buffers: the record buffer holds all fetched records (fkdata and fkinternalcalc field values — see oninternalcalcfields)

|

tmdbdataset,iblobchache,idatasetsum,imasterlink,idbdata,iobjectlink

|

TObject,idatabaseclient,itransactionclient

Description

Keeps three buffers: the record buffer holds all fetched records (fkdata and fkinternalcalc field values — see oninternalcalcfields); the update buffer, managed by this class, holds a copy of a record's original values as soon as it is first modified/inserted/deleted by Post, used by applyupdates to build the update statements and by cancelupdates (all pending records) or cancelupdate (the current record only) to restore the record buffer; the edit buffer, managed by the inherited tdataset, is the display/edit window used by the connected widgets and grids (as many rows as the largest connected grid needs) and is also where fkcalculated field values, computed on the fly by OnCalcFields, live — unlike fkdata/fkinternalcalc fields, they are not part of the record buffer. Only fkdata and fkinternalcalc fields can be used in indexlocal.


Documentation generated on: 2026-10-03