Ver Mensaje Individual
  #1  
Antiguo 10-03-2009
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Reputación: 22
Bauhaus1975 Va por buen camino
Unhappy TClientDataSet.applyupdates (error: record not found or changed by another user)

Hola a todos, de nuevo aquí me encuentro con un error que me está volviendo loco, llevo varios días con esto.

Se trata del error que da el programa ha ejecutar la sentencia:
clientdataset.applyupdates
error: record not found or changed by another user.

(Trabajo con Firebird 2.1.1 y Borland Studio 2005) Uso los componentes de Interbase para conexión a BBDD, siempre sin problemas.

Las sentencias son las habituales, como puede verse:
Código Delphi [-]
// cds es el ClientDataSet
// 1. Ponemos en modo de edición
cds.Refresh(); // aunque es prescindible
cds.Edit();
// 2. Modificamos algunos campos
cds.FieldByName('Campo1').AsString := 'valor1';
// 3. Actualiza el registro en curso
cds.Post();
// 4. Hacemos efectivos los cambios
if cds.ApplyUpdates(0) <> 0 then
    raise Exception.Create('error grabando');
self.transaction.Commit;

Esto es lo habitual, aunque he aislado el código, en el programa todo es más complejo, no sé... he probado a ejecutar varias máquinas, no hay problema de permisos etc. Con el IB_Expert puedo modificar bien.
Ni idea...

¿Alguien tiene alguna idea?
Muchas gracias por vuestra ayuda.
Responder Con Cita