Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-08-2006
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
Capturar excepciones desde pl/sql

Hola gente:
tengo un problema cuando quiero capturar excepciones creadas por mí en un trigger de una tabla de la base de datos.
Desde delphi yo hago lo siguiente pero no me funciona:

procedure TPUDMCambiarParamOperacion.actualizar;
var
num : Integer;
begin
try
begin
if CDSOperaciones.State in dsEditModes then
CDSOperaciones.Post;
if CDSOperaciones.ChangeCount > 0 then
num := CDSOperaciones.ApplyUpdates(0);
end
except
Application.MessageBox('mensaje excepción', 'Mensaje', MB_YESNOCANCEL + MB_ICONINFORMATION);
end;
end;

Yo quiero poder capturar el mensaje de la excepción que me da el trigger y mostrarlo por pantalla. El trigger es un before_update.

Desde ya cualquier respuesta muchas gracias.

Mariano.
Responder Con Cita
  #2  
Antiguo 17-08-2006
cacuna cacuna is offline
Miembro
 
Registrado: sep 2003
Posts: 54
Poder: 21
cacuna Va por buen camino
No se pueden poner excepciones en TRIGGER

Si no mal recuerdo, en ORACLE no puedes manejar excepciones dentro de los TRIGERS....a menos que me equivoque..hace tiempo que no programo en ORACLE....mas bien tengo mala memoria.

Saludos,

cacuna.
Responder Con Cita
  #3  
Antiguo 17-08-2006
mcalmanovici mcalmanovici is offline
Miembro
 
Registrado: jun 2006
Posts: 78
Poder: 18
mcalmanovici Va por buen camino
Solución...

Hola: les cuento por si les interesa la solución que encontré... También aclaro que lo estoy probando con una base de datos firebird...

El clientDataSet tiene un evento que es onReconcileError, en dicho evento se captura la excepción y se muestra por pantalla de la siguiente forma (es solo una forma, también vi después que se puede capturar en dataSetProvider la excepción que viene de la base de datos):

procedure TPUDMCambiarParamOperacion.CDSOperacionesReconcileError(
DataSet: TCustomClientDataSet; E: EReconcileError;
UpdateKind: TUpdateKind; var Action: TReconcileAction);
var
s:string;
begin
s:=e.Message;
ShowMessage(s);
end;

Obviamente si existe un error (por lo que va a dar la excepción en este caso) ejecuta este evento.....

Saludos.
Mariano.
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
Capturar Excepciones clanmilano Varios 36 06-11-2015 20:16:06
Capturar Excepciones dmagui OOP 7 29-11-2006 04:48:19
Capturar datos desde un fichero .pdf taita Varios 0 19-10-2005 01:03:26
capturar un error desde un datanavigator Leonardo Conexión con bases de datos 3 17-10-2005 04:48:23
Capturar video desde webcam... kolokol Internet 3 14-02-2004 10:14:57


La franja horaria es GMT +2. Ahora son las 10:56:29.


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