Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-08-2003
rafadrover rafadrover is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mallorca
Posts: 48
Poder: 0
rafadrover Va por buen camino
Primary key, generador, interbase

Hola a todos, tengo el problemilla de siempre, por que cuando se tiene una tabla, con la clave primaria asociada a un generador mediante un trigger, los datos no se reflejan el delphi si no se habre y cierra la tabla, no hay nadie que sepa como refrescar los datos que se han calculado en la base de datos sin tener que abrir y cerrar la tabla.

Gracias.
Responder Con Cita
  #2  
Antiguo 14-08-2003
Avatar de SCORDOBA
SCORDOBA SCORDOBA is offline
Miembro
 
Registrado: ago 2003
Ubicación: Llano de Brujas. Murcia
Posts: 37
Poder: 0
SCORDOBA Va por buen camino
Hola:

No puedes refrescar en el cliente por que no sabes el valor de la clave primaria que ha asignado el trigger. Para hacer esto puedes hacer dos cosas:

Opcion 1:
Te creas un procedimiento almacenado que te devuelva el id del generator, y lo ejecutas desde el cliente.

Opcion 2:
Si usas ibx o fib puedes ejecutar una funcion de la clase fibdatabase: Gen_id

TFIBDatabase.Gen_Id(const GeneratorName: string; Step: Integer): Integer;

Asi no tienes que refrescar nada.

Santiago
__________________
Ven a Murcia y no solo pasaras calor.
Responder Con Cita
  #3  
Antiguo 15-08-2003
rafadrover rafadrover is offline
Miembro
 
Registrado: jun 2003
Ubicación: Mallorca
Posts: 48
Poder: 0
rafadrover Va por buen camino
El problema son los huecos que pueden aparecer en la numeracion, yo siempre soy mas partidario de dejar que las cosas las realize la base de datos, entonces es ella quien tiene que resolver el problema de los codigos. El problema es que al hacer esto, no me refresca los datos. Alguna idea?
Responder Con Cita
  #4  
Antiguo 15-08-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Cita:
Posteado originalmente por rafadrover
El problema son los huecos que pueden aparecer en la numeracion, ...
utilizando generadores no hay forma de evitar (en un entorno multi-transacción, o si prefieres, multi-usuario) la posibilidad de que puedan aparecer huecos en la secuencia. El asunto es indiferente a si se obtiene el siguiente valor del generador (GEN_ID(...)) desde el servidor (p.e. a través de un trigger) o por medio de una llamada a un procedimiento almacenado o consulta desde una aplicación cliente.

Saludos.
Responder Con Cita
Respuesta



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 03:05:32.


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