Gracias tiammat por tu respues hice esto:
Código Delphi
[-] if not FormPrinc.SQLConnectionDatsnap.InTransaction then
begin
TD.TransactionID := 1;
TD.IsolationLevel := xilREADCOMMITTED;
FormPrinc.SQLConnectionDatsnap.StartTransaction(TD);
try
DataModuleConsulta.ClientDataSetDetalle.First;
while not DataModuleConsulta.ClientDataSetDetalle.Eof do
begin
DataModuleConsulta.ClientDataSetDetalle.Delete;
Next;
end;
DataModuleConsulta.ClientDataSetCabecera.Delete;
DataModuleConsulta.ClientDataSetCabecera.ApplyUpdates(-1);
FormPrinc.SQLConnectionDatsnap.Commit(TD);
except
ShowMessage('No se puede eliminar. Intente luego');
FormPrinc.SQLConnectionDatsnap.Rollback(TD);
end;
end;
Y Funciona!! pero lo que yo tenia entendido es que hacer una conexion BBexpress Master-Detail con solo eliminar la cabecera aliminaba los detalles.. para que serviria la propiedad poCascadeDeletes del DSProvider del lado servidor.