Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-06-2006
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Manejo de Exception

Hola.. estube revisando algunos ejemplos.. para poder crear unas store procedure... y encontre esto en el manual de interbase..

Código SQL [-]
CREATE PROCEDURE ADD_EMP_PROJ (EMP_NO SMALLINT, PROJ_ID CHAR(5))
AS
BEGIN
BEGIN
INSERT INTO EMPLOYEE_PROJECT (EMP_NO, PROJ_ID)
VALUES (:EMP_NO, :PROJ_ID);
WHEN SQLCODE -530 DO
EXCEPTION UNKNOWN_EMP_ID;
END
SUSPEND;
END

ahora tengo una duda con las siguientes lineas
WHEN SQLCODE -530 DO
EXCEPTION UNKNOWN_EMP_ID;


el procedimiento que hice es el siguiente

Código SQL [-]
CREATE PROCEDURE AGREGAR_CARGO (
    VORD_NUMERO VARCHAR(5) CHARACTER SET NONE,
    VCEN_CODIGO VARCHAR(4) CHARACTER SET NONE,
    VCAR_MONTO FLOAT,
    VCAR_OBSERVACION BLOB SUB_TYPE 0 SEGMENT SIZE 80)
AS
begin
   begin
        Insert into "Cargos" ("Ord_Numero", "Cen_Codigo", "Car_Monto", "Car_Observacion")
        values (:vord_numero, :vcen_codigo, :vcar_monto, :vcar_observacion);
   end;
   suspend;
end

si bien lo he probado en el IBExpert.. me funciona bien.. pero me gustaria saber como le agrego una exception... y como tendria que ser..
__________________
BlueSteel

Última edición por BlueSteel fecha: 28-06-2006 a las 16:27:34.
Responder Con Cita
  #2  
Antiguo 28-06-2006
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Talking

con respecto al mismo procedimiento... lo trato de ejecutar desde delphi de la siguiente forma

Código Delphi [-]
     For i:=0 to Asig_Costos.Costos_Paso.RowCount -1 Do
     Begin
          IBSP_Edit.StoredProcName := 'AGREGAR_CARGO';
          IBSP_Edit.Params.Clear;
          IBSP_Edit.Params[0].AsString := IBQ_Select['ORD_NUM'];
          IBSP_Edit.Params[1].AsString := Asig_Costos.Costos_Paso.Cells[0,i];
          IBSP_Edit.Params[2].AsFloat  := StrToFloat(Asig_Costos.Costos_Paso.Cells[2,i]);
          IBSP_Edit.Params[3].AsString := Asig_Costos.Costos_Paso.Cells[3,i];
          IBSP_Edit.Prepare;
          IBSP_Edit.ExecProc;
          IBT_SPEdit.Commit;
     End;

en donde Costos_Paso es un StringGrid que se encuentra en el Formulario Asig_Costos. Haciendo este proceso sin StoreProcedure me funcioba super bien...pero como soy porfiado.. quiero intentar almacenarlo con procedimientos

ahh.. el error que me da es el siguiente
Project Propint1.exe raised exception class ElisError with message 'List index out of bounds (0)'. Process stopped. Use step or run to continue
__________________
BlueSteel

Última edición por BlueSteel fecha: 28-06-2006 a las 17:09:17.
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
exception arieliten Conexión con bases de datos 3 21-04-2005 00:27:59
deshablitar las exception febito Varios 13 21-05-2004 07:22:00
exception al imprimir agora18 Impresión 3 27-11-2003 15:54:25
Exception EMCIDeviceError rolando_sd Varios 4 27-08-2003 18:53:08


La franja horaria es GMT +2. Ahora son las 20:00:05.


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