Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2006
rafa_adrim rafa_adrim is offline
Miembro
 
Registrado: ene 2006
Posts: 17
Poder: 0
rafa_adrim Va por buen camino
BeforePost y TField.Required

Buenas tengo un problemilla que no se como arreglar. (delphi 6.0 y Interbase 6.0)

Las gestiones de clave primaria automàtica lo gestionio mediante un Generator de interbase, mejor dicho, un storedprocedure que devuelve el proximo valor de un Generator.

Bien el problema es el siguiente, para no perder ningun número de generator lo logico seria en el Beforepost llamar a este storedprocedure y assignar el resultado de dicha funcion a la primary key.

Bien funciona correctamente salvo un casuistica que se me escapa.

Cuando alguno de los TFields de la tabla tiene el Required a true, delphi hace la comprovación de Required después de generar la llamada al evento Beforepost con el consiguiente problema: Si algun campo que es Required no esta rellenado se muestra un error, el post no se hace y si despues el cliente cancela la creación del registro pierdo el número del generator que he assignado previamente en el evento Beforepost.

Mi pregunta: Es posible hacer que delphi primero compruebe Required y después llame a Beforepost.

PD: La otra solución seria assignar la primary key en el trigger beforeinsert de interbase pero el problema es que despues desde delphi no se me refresca el valor assignado por el servidor aunque le diga al TField que actua com a primary key que es del tipos AutogenerateValue := autoinc.

Muchas gracias.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:35:34.


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