Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   DataSet not in edit or insert mode (https://www.clubdelphi.com/foros/showthread.php?t=68359)

Mystery 09-06-2010 15:30:12

DataSet not in edit or insert mode
 
Hola a todos...
es casi evidente este error... pero bueno a mi me tiene loko y no se por donde cogerlo...
uso ADO con ClientDataSet en una relacion Master/Detail cambio algo en el detail... y a la hora de hacer el applyupdates me envia este mensaje en el la tabla master...
mi codigo es este
Código Delphi [-]
      if UCL.CDSTb_Tabla.ChangeCount>0 then
      try         
         UCL.CDSTb_Tabla.ApplyUpdates(0);
      except
         on E:EDataBaseError do begin
            showmessage(e.message);
         end; 
      end;

      if UCL.CDSTb_Campos.ChangeCount>0 then
      try
         UCL.CDSTb_Campos.ApplyUpdates(0);
      except
         on E:EDataBaseError do begin
            showmessage(e.message);
         end; 
      end;
espero me puedan aconsejar algo... porque no se que pueda estar haciendo mal... si necesitan mas detalles con gusto se los doy...
bueno mil gracias de antemano...
chaoo sin mas

Mystery

roman 09-06-2010 16:35:02

No sé. Si sólo cambias algo en la tabla detalles no tienes porqué hacer un ApplyUpdates de la tabla maestra ¿o si?

// Saludos

Mystery 09-06-2010 17:40:17

hola roman gracias por atender mi solicitud...
lo que sucede es que tengo una interfase donde con page control en una pestaña tengo los datos de una tabla y en la otra los datos sobre los campos de esta tabla y un boton salvar los cambios realizados en la interfase completa...
si yo no hago cambios en la tabla master...
cuando llegue al punto
Código Delphi [-]
if UCL.CDSTb_Tabla.changecount>0 then  
  UCL.CDSTb_Tabla.applyUpdates(0);
no deberia entrar verdad.. .porque no hice cambios... bueno, entra a ese codigo, pero el error me lo envia en este codigo
Código Delphi [-]
UCL.CDSTb_Tabla.Edit;
try     
  TBlobField(UCL.CDSTb_Tabla.FieldByName('Formato')).Assign(nil);
  UCL.CDSTb_Tabla.Post;   
except     
   on E:EDatabaseError do begin       
   MessageDlg('No se pudo actualizar el formato del campo. Motivo: '+e.Message, mtError, [mbOK], 0);
   end;   
end;

o sea trato de limpiar un campo BLOB y cuando llego ahi me envia el mensaje que habia comentado...
a pesar que la pongo en modo edicion en la linea anterior....


La franja horaria es GMT +2. Ahora son las 03:34:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi