FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Manejo de errores en un procedimiento
Hola a todos:
Mi situación es la siguiente, como puedo capturar el error que genera un procedimiento, este es el codigo que estoy generando procedure Tpr0002.PERIODO_ACTIVO (pw_plan_clave, pw_tipo :string; var pw_anio, pw_numero :integer; pw_error :variant); begin pw_error := NULL; try Q_Consulta.Close; Q_Consulta.SQL.Clear; Q_Consulta.SQL.Add(' SELECT cipl_anio AS pw_anio, MIN(cipla_numero) AS pw_numero '); Q_Consulta.SQL.Add(' FROM sil_cierres_planta '); Q_Consulta.SQL.Add(' WHERE cipl_plan_clave = w_plan_clave '); Q_Consulta.SQL.Add(' AND cipl_tipo = w_tipo '); Q_Consulta.SQL.Add(' AND cipl_estatus = ''A'' '); Q_Consulta.SQL.Add(' AND cipl_anio = (SELECT MIN(cipl_anio) '); Q_Consulta.SQL.Add(' FROM sil_cierres_planta '); Q_Consulta.SQL.Add(' WHERE cipl_plan_clave = w_plan_clave '); Q_Consulta.SQL.Add(' AND cipl_tipo = w_tipo '); Q_Consulta.SQL.Add(' AND cipl_estatus = ''A'') '); Q_Consulta.SQL.Add(' GROUP BY cipl_anio '); Q_Consulta.ParamByName('pw_plan_clave').Value := pw_plan_clave; Q_Consulta.ParamByName('pw_tipo').Value := pw_tipo; Q_Consulta.Open; pw_anio := Q_Consulta.FieldValues['pw_anio']; pw_numero := Q_Consulta.FieldValues['pw_numero']; Q_Consulta.Close; except pw_error := 'Se produjo un error'; on E: Exception do begin pw_error := E.Message; if (E is EDBEngineError) then with EDBEngineError(E).Errors[0] do pw_error := ErrorCode; end; end; end; lo que necesito es atrapar el error si es que hubiese en la variable pw_error pero no me asigna nada, ya probe pasandole directamente el mensage, utilizando el EDBEngineError, pero cuando sale del excep la variavle sale sin asignación, alguien tendra alguna sugerencia de como puedo hacerle para obtener ese dato y posteriormente utilizarlo gracias de antemano |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|