Ver Mensaje Individual
  #4  
Antiguo 09-02-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 19
jmariano Va por buen camino
He buscado un poquito por ahí tu problema y tienes razón, existe un problema entre el BDE y esta versión de Interbase, por el que no se reflejan bien los valores de los campos clave que son actualizados en el servidor después de una inserción.

Por lo que encontré, sólo hay dos maneras de solucionarlo:

1. Actuar como lo has hecho hasta ahora: creando un procedimiento almacenado y ejecutándolo en el evento OnBeforePost o en OnNewRecord para actualizar el campo clave de autoincremento.

2. Ó, actualizando dicho campo en el servidor a través de un disparador y, luego, cerrando y volviendo a abrir la tabla (en vez de ejecutar Refresh) para que se actualice el valor del campo en el cliente. (Claro que esta operación es más costosa y requiere que salvemos la posición del registro actual para volver a posicionarnos donde estábamos).

Yo te aconsejaría, más que usar el BDE, utilizar los componentes nativos para acceder a Interbase (los de la pestaña InterBase) o cualquier librería de componentes que exísten por ahí para tal propósito (algunas son, incluso, gratuitas).

Saludos!
Responder Con Cita