Si ya tienes los componentes en el datamodule sería algo así:
Suponiendo que lees de algún lugar y quieres transferirlo a la base.
Código Delphi
[-]
procedure TDMFactura.Insertar;
begin
while not Datos.EOF do
begin
with Q do
begin
Close;
Transaction.StartTransaction;
Params.ByName['DATO'].AsString := Dato.FieldByName['DATO'].AsString;
ExecQuery;
Transaction.Commit;
end;
Datos.Next;
end;
end;
Como verás la transacción está abierta solo durante la asignación de parámetros y el ExecQuery.
Luego de eso se hace un Commit.