RAD Studio VCL Reference
|
Moves to the last record in the dataset.
procedure Last;
__fastcall Last();
Call Last to make the last record in the dataset active. If the dataset is not unidirectional Last posts any changes to the active record and
Clears the record buffers.
Fetches the last record and makes it the active record.
Fetches any additional records required for display, such as those needed to fill out a grid control.
Sets the Eof property to true.
Broadcasts the record change so that data controls and linked detail sets can update.
For unidirectional datasets, Last raises an EDatabaseError exception.
Delphi Examples:
{ This example shows how to use the BeforeGetRecords event handler (a TRemoteEventType value) to send the provider information it needs for incremental data fetching. Before fetching the next data packet, the client dataset packages up the key value of the last record so that the provider knows where to begin the next data packet. It also sends some application-specific information, which is stored in Memo1. This method is used to pass the sql statement and the value of the first field for the last record to the server so that the server can return the correct records. The complete project using this code example is in Demos/DelphiWin32/VCLWin32/MIDAS/Pooler. } procedure TForm1.ClientDataSet1BeforeGetRecords(Sender: TObject; var OwnerData: OleVariant); var LastValue: OleVariant; CDSClone: TClientDataSet; begin if ClientDataSet1.Active then begin CDSClone := TClientDataSet.Create(Form1); try CDSClone.CloneCursor(ClientDataSet1, True); { turn off FetchOnDemand so that the clone only fetches the last LOCAL record } CDSClone.FetchOnDemand := False; CDSClone.Last; LastValue := CDSClone.Fields[0].AsString; CDSClone.Close; finally CDSClone.Free; end; end else LastValue := NULL; OwnerData := VarArrayOf([Memo1.Lines.Text, LastValue]); end; procedure TForm1.Button2Click(Sender: TObject); begin ClientDataSet1.PacketRecords := StrToInt(Edit1.Text); ClientDataSet1.GetNextPacket; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|