FireDAC.Comp.Client.TFDCustomConnection.Commit
Delphi
procedure Commit;
C++
void __fastcall Commit();
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomConnection |
Description
Permanently stores modifications to the data made in the current transaction, and optionally ends the current transactions.
Call Commit to permanently store modifications, such as those caused by the INSERT, UPDATE, or DELETE command, made in the current transaction to the database.
FireDAC supports nested transactions, so the current transaction is the one started with the most recent StartTransaction call. If the database does not support nested transactions, like most of DBMSs, then FireDAC will emulate nested transactions using savepoints.
Before calling Commit, an application can check the status of the InTransaction property. If an application calls Commit and there is no current transaction, an exception is raised.
A Commit call on InterBase or Firebird closes and unprepares all datasets and commands associated with this transaction object. On some other DBMSs (for example, MS SQL Server 2005), a call invalidates all the active result sets. To force FetchAll on active datasets, use the ReleaseClients method.
The Commit call is the shortcut to Transaction.Commit, if the Transaction property is assigned. Otherwise, Commit will operate on the default connection transaction.
Example
procedure TForm1.DoThatButtonClick(Sender: TObject);
begin
FDConnection1.StartTransaction;
try
if CustomerQuery.Locate('ID', [100]) then begin
CustomerQuery.Edit;
CustomerQuery.FieldByName('status').AsString := 'top';
CustomerQuery.Post;
FDConnection1.ExecSQL('delete from debt where CustID = 100');
FDConnection1.Commit;
end;
except
FDConnection1.Rollback;
raise;
end;
end;
See Also
- Managing Transactions
- FireDAC.Comp.Client.TFDCustomConnection.StartTransaction
- FireDAC.Comp.Client.TFDCustomConnection.InTransaction
- FireDAC.Comp.Client.TFDCustomConnection.Rollback
- FireDAC.Comp.Client.TFDCustomConnection.CommitRetaining
- FireDAC.Comp.Client.TFDCustomConnection.ReleaseClients
Samples
- FireDAC Transactions sample