Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 08-06-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 24
Paoti Va por buen camino
Generadores, trigger, obtener valor

Hola compañero.



Si se genera el autoincremento, más no se refleja en delphi, hasta que no hagas un commit; abres y cirres el datset.


Y eso es por la forma de que se genera el autoincremento en trigger,


lo que puedes hacer es:


crearte un procedimiento almacenado que obtenga el generador usado inmediatamente despues de haber hecho el post.


o englobar en un solo procedimiento em insert de la tbla y la obtención del ID autoincrementado.


es decir:

Código SQL [-]
CREATE PROCEDURE PR_OBTENER_ULT_ID_COMPRA 
RETURNS (
    ID_COMPRA INTEGER)
AS
/* Se asigna una variable que se llama ID_compra
   que leera el valor actual del generador
   de la última compra realizada
   Para llamar este generador desde delphi
   se debe de usar esta instrucción:
   SELECT * FROM PR_OBTENER_ULT_ID_COMPRA

   SUSPEND, SU USA PARA QUE EL PROCEDURE
   DEVUELVA EL VALOR DE SALIDA */
BEGIN
  /* Procedure body */
  ID_COMPRA = GEN_ID(GEN_COMPRAS_ID_COMPRAS, 0);
  SUSPEND;
END

con esto puedes obtener el id asignado...



A TODOS LOS COMPAÑEROS, QUE USAN FIREBIRD O INTERBASE. QUE HACEN ANTE ESTAS SITUACIONES.

UN CASO PRACTICO ES CUANDO TIENELAS TABLAS EL MAESTRO Y EL DATALLE , Y EN EL MAESTRO, UNA VEZ QUE DAS DE ALTA NO TIENES SU NUEVO ID, PARA PODER INSERTAR EL DETALLE CON ESE ID DEL PADRE.


espero haberme explicado.


Saludos desde Guadalajara
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Firebird : Llamado para probadores de Firebird 2.0 JOSEPE Firebird e Interbase 0 12-03-2005 20:33:18
Nuevo Firebird 1.5 RC 2 RolphyReyes Firebird e Interbase 0 02-11-2004 21:19:30
Problemas Firebird Super Server 1.5 con RFunc Firebird v 1.0 Prophoenix Firebird e Interbase 1 09-03-2004 11:40:48
año nuevo, problema nuevo maruenda Varios 4 05-01-2004 00:17:58


La franja horaria es GMT +2. Ahora son las 21:32:05.


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
Copyright 1996-2007 Club Delphi