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
  #21  
Antiguo 28-05-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Eso parece según ese mensaje, que es algún error en el componente TIBStoredProc.
Yo no lo he detectado porque no lo uso, sino que para ejecutar procedures utilizo el TIBDataSet normal.
Responder Con Cita
  #22  
Antiguo 30-05-2024
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 531
Poder: 22
IVAND Va por buen camino
Exacto mamcx , el error es de los componentes , quedo muy agradecido de uds voy a intentar seguir averiguando como se soluciiona esto , por el momento creo que comprare los IBDAC , Gracias
__________________
IVAND
Responder Con Cita
  #23  
Antiguo 30-05-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
IVAND, en ese enlace están usando un TIBStoredProc ¿tú estás usando un TIBStoredProc?
Si es así, simplemente utiliza un TIBDataset y en su sql.text pon "execute procedure ......" y se acabó el problema.
Suponiendo que ese sea el problema, que todavía no lo tengo muy claro.
Responder Con Cita
  #24  
Antiguo 06-06-2024
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 531
Poder: 22
IVAND Va por buen camino
Gracias a todos , por su tiempo pero no es problema del sp , es los manejo de errores de los componentes , ya compre los ibdac empezare hacer pruebas , en estos si me sale el mensaje bien
__________________
IVAND
Responder Con Cita
  #25  
Antiguo 01-12-2024
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 531
Poder: 22
IVAND Va por buen camino
Hola despues de muchas pruebas y buscar lo poco que hay en internet , pues si es problema de el manejo de errores cuando se dispara un trigger , he echo lo que indicas casimiro pero parece que realmente no es el problema en ejecutar un stored procedure , el verdadero problema es manejar el error que da en el trigger , cuando este tiene alguna validacion en mi caso es cuando no debe permitir colocar una cantidad en valor negativo

Código SQL [-]
CREATE OR ALTER trigger producto_bodega_au0 for producto_bodega
active after update position 0
AS
 declare variable nombre varchar(150);
begin
  /* Trigger text */
 if (new.cantidad<=-1) then
   Begin
     exception bloquear_saldo_bodega ;

  End

end


en firebird 2.5 funciona bien y sale el mensaje muy claro , en firebird 3 sale el mensaje generico que ya les indique ( en este caso el store procedure ejecuta un procedimiento q descuenta el saldo de los inventarios y si un producto se coloca en negativo el error debe enviar la validacion y es ahi donde falla

Como valida estos los companeros que trabajan ya con firebird 3 y los componentes IBX uso delphi 2009
__________________
IVAND
Responder Con Cita
  #26  
Antiguo 01-12-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por IVAND Ver Mensaje
Como valida estos los companeros que trabajan ya con firebird 3 y los componentes IBX uso delphi 2009
Es que no hay ninguna diferencia, es igual. Yo tengo programas con firebird 3, 4 y 5 y funciona igual, salta el mensaje de excepción que pongas.
Aunque se me está ocurriendo que a partir de cierta versión, que no recuerda cuál, los mensajes tienes que declararlos como excepción para poder llamarlos.
A ver si es eso lo que te está ocurriendo.
Código SQL [-]
 CREATE EXCEPTION ex_cantidad_invalida 'Valor inválido en el campo cantidad.';
Código SQL [-]
CREATE OR ALTER TRIGGER trg_check_cantidad
BEFORE INSERT OR UPDATE
ON tbVentas
AS
BEGIN
  IF (NEW.cantidad <  0) THEN
  BEGIN
    -- Lanza una excepción personalizada
    EXCEPTION ex_cantidad_invalida 'La cantidad debe ser mayor que cero.';
  END
END;
El texto que se define al crear la excepción sirve como un mensaje predeterminado, y el texto que se usa al lanzar la excepción dentro del trigger puede ser un mensaje más específico o detallado para esa situación particular.
Responder Con Cita
  #27  
Antiguo 02-12-2024
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 531
Poder: 22
IVAND Va por buen camino
Exactamente asi lo hago , pero sigue el error usando los componentes IBX , pense que algun companero del foro tenia algun problema similar
__________________
IVAND
Responder Con Cita
  #28  
Antiguo 02-12-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que lo único que queda por comprobar es la versión de IBX que estás usando.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Migrando de InterBase a Firebird Carmelo Cash Firebird e Interbase 13 08-02-2025 19:22:09
Migrando triggers de Firebird a PostgreSQL macugi PostgreSQL 6 02-05-2013 19:47:57
Migrando a Firebird mjjj Conexión con bases de datos 6 26-09-2007 01:14:39
Migrando a .NET JULIPO Internet 1 15-09-2006 13:23:03
migrando a firebird JoseQ Firebird e Interbase 1 13-08-2004 01:49:47


La franja horaria es GMT +2. Ahora son las 18:49:29.


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