Hola,
respecto a esto:
Cita:
Por cierto, para las consultas de modificacion, insercion y/o procedimientos alm. como los utilizais con los clientdataset para sincronizar todo en una transaccion?
|
Creo que no me he explicado correctamente, quiero decir que yo utilizo los clientdataset para consultas y consultas modificables y realizo un applyupdates para grabar todos los cambios.
Pero cuando en el mismo proceso de guardar esos cambios quiero incluir en una misma transaccion una actualizacion o insercion mediante instrucciones SQL (insert, update) o un procedimiento almacenado.
Por ejemplo solamente con componentes IBX lo haria asi:
Código:
/* componente IBQuery + IBUpdateSQL*/
IBXQuery->Edit();
IBXQuery->FieldByName("Ejercicio")->AsInteger = Ejercicio;
IBXQuery->Post();
/* insert, update o procedimiento */
IBXQuery2->ParamByName("P_EJERCICIO")->AsInteger = Ejercicio;
IBXQuery2->ExecSQL();
TIBTransaction->Commit(); /* Confirmo todas las operaciones anteriores */
utilizando los clientdataset:
Código:
ClientDataSet->Edit();
ClientDataSet->FieldByName("Ejercicio")->AsInteger = Ejercicio;
ClientDataSet->Pots();
/* insert, update o procedimiento */
IBXQuery2->ParamByName("P_EJERCICIO")->AsInteger = Ejercicio;
IBXQuery2->ExecSQL();
ClientDataSet->ApplyUpdates(-1);
TIBTransaction->Commit(); /* Confirmo todas las operaciones anteriores */