UpdateObject from TBDEDataSet: does it exist in any modern db component suite?

Does anyone remember using Update Objects with TBDEDataSet ( Bde.DBTables.TBDEDataSet.UpdateObject - RAD Studio API Documentation ) and know what it is called in FireDAC, ADO, IBExpress, NexusDB, UniDAC … I am interested in anything implemented in a current database access layer that fully supports Delphi 11.

Here’s one more link about it:
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Update_Objects_to_Update_a_Dataset

Thank you very much.

Hi There,
As far as I can see lots of things do the core stuff indicated in that document.
Example firedac fdquery
Can select, update, insert, delete.

Something like
qry.sql.text := 'select * from mytable where somecriteria';
qry.Open;
if not qry.EOF then 
begin
  qry.update;
  qry.fieldbyname('somefield').AsString := 'sometext';
  qry.post;
end
else
begin
  qry.append;
  qry.fieldbyname('somefield').AsString := 'other text';
  ... other necessary fields.
  qry.post;
end;

Pretty sure they behave well with clientdatasets (and definitely fdMemTables)
Actual Update statements are still handy when you want to lock a record.

Need to take a little care with the options you choose. (Check All fields vs only key fields for updates)

Thank you very much. Your hint about All Fields vs only key fields is definitely noted.

FireDAC.Comp.Client.TFDAdaptedDataSet.UpdateObject - RAD Studio API Documentation confirms what you are saying. Still great to see your code snippet because “Embarcadero Technologies does not currently have any additional information.”

I am curious whether this functionality got into other third-party packages. If anyone is using UpdateObject with something other than FireDAC, just a quick comment to confirm which Delphi you are using it in would be appreciated.

NexusDB has the TnxSqlUpdateObject equivalent component.

:grinning: Thank you for the exact class name.

PS. I searched IBObjects and it has UpdateObject: TIBOUpdateSQL
and IBExpress has UpdateObject: TIBDataSetUpdateObject