[Lazarus-es] problema con zeos/firebird al agregar registros/cancelar edición

Paola Bruccoleri pbruccoleri en adinet.com.uy
Mie Oct 13 20:44:54 CEST 2010


  Hola a todos..

tengo un grid asociado a una tabla, y en ese mismo form tengo los 
clasicos botones agregar, etc...
al presionar agregar, hago esto:

   Application.CreateForm(TEditF03, EditF03);
   dbForm03.Append;

   dbForm03.FieldByName('NUMERO').AsInteger             := 99999 ;
   dbForm03.FieldByName('FECHA').AsDateTime             := Now ;
.....
   try
     EditF03.ShowModal;
   finally
     FreeAndNil(EditF03);
   end;


El form de edición tiene componentes rxdbxxxxx (calcedit, timeedit, 
lookupcombo...) y se carga correctamente.
Ahora, si apreto un botón  CANCELAR, para cancelar esa edición, donde 
ejecuto esto:

   ABMF03.dbForm03.CancelUpdates;
   DMPrincipal.ServiamConnectionDB.Rollback;
   Close;

por tanto regreso al grid nuevamente.
Si intento agregar un nuevo registro, me sale este error:



lo MISMO me pasa si grabo el registro e intento agregar uno nuevo.

En el botón AGREGAR, hago esto:

      Try
        If ABMF03.DSForm_03.DataSet.Modified then
           Begin
           ABMF03.dbForm03.Post;
           ABMF03.dbForm03.ApplyUpdates;
           DMPrincipal.ServiamConnectionDB.Commit;
           end
        Else
           Begin
           ABMF03.dbForm03.CancelUpdates;
           DMPrincipal.ServiamConnectionDB.Rollback;
           end;
      Except
      ABMF03.dbForm03.CancelUpdates;
      DMPrincipal.ServiamConnectionDB.Rollback;
      MessageDlg('¡¡¡ Atención...!!!', 'Número de comprobante ya 
ingresado', mtWarning, [mbOk], 0);
      end;


Obviamente, el try/except tampoco me funciona en el caso de que ingrese 
un numero ya existente. Esa tabla tiene una primary key en el campo número.

Agradezco alguna pista..

Si, ya sé que puedo usar componentes auxiliares para cargar los datos y 
luego hacer el INSERT, pero me gustaría resolverlo de esta manera, que 
si funciona, es muy práctico
muchas gracias
chauuuuuuuuuuuuuu

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20101013/6568cfaa/attachment-0002.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: moz-screenshot-3.png
Type: image/png
Size: 9730 bytes
Desc: no disponible
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20101013/6568cfaa/attachment-0002.png>


More information about the Lazarus-es mailing list