Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Oracle
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2006
killaskto killaskto is offline
Registrado
 
Registrado: nov 2006
Posts: 2
Poder: 0
killaskto Va por buen camino
Procedimientos Almacenados Oracle 10g

Hola!

Tengo una gran duda sobre como invocar un procedimiento almacenado desde delphi....

Estoy trabajando sobre delphi 7 y usando Oracle 10g XE, la conexion la hago mediante un AdoConnection y trato de usar un AdoStoredProc que vincule con el AdoConnetion, ya aparecen los procedimientos de la base, no aparecian parametros y cuando le di en Parameter automaticamente los creo. Estos dos parametros uno In y otro Out, el primero de tipo ftString (numericscale=0,precision=0,size=0)y el segundo ftBDC (numericscale=0,precision=15,size=0).

El procedimiento en oracle es:

CREATE OR REPLACE PROCEDURE PRO_NUEVO_NUMERO(NOMBRE_TABLA IN VARCHAR2,NUEVO_NUMERO OUT NUMBER)
AS
EXISTE NUMBER;
BEGIN
NUEVO_NUMERO:=1;
raise_application_error(-2000,'Entro hasta aqui');
LOOP
EXISTE:=0;
CASE NOMBRE_TABLA
WHEN 'CLIENTES' THEN
EXIT WHEN NUEVO_NUMERO=999;
SELECT COUNT(*) INTO EXISTE FROM CLIENTES WHERE ID_CLIE=NUEVO_NUMERO;
END CASE;
IF(EXISTE=0)THEN
COMMIT;
RETURN;
ELSE
NUEVO_NUMERO:=NUEVO_NUMERO+1;
END IF;
END LOOP;
NUEVO_NUMERO:=0;
COMMIT;
RETURN;
END PRO_NUEVO_NUMERO;

En Delphi lo que hago es que cuando se cree el formulario aparezca en un label el numero que devuelve el segundo parametro de la siguiente manera:

with stpProNuevoNumeroCliente do
begin
Parameters.ParamByName('NOMBRE_TABLA').Value:='CLIENTES';
Prepared:=True;
ExecProc;
NuevoNumeroCliente:=Parameters.ParamValues['NUEVO_NUMERO'];
end;
Label8.Caption:=IntToStr(NuevoNumeroCliente);

Cuando lo ejecuto manda este error: Project El_Barril.exe raised exception class EOleException with message '4f rh'. Process stopped. Use Step or Run to continue.

Paso a paso me doy cuenta que ese error lo genera inmediatamente despues de hacer ExecPorc.......

Si alguien me pudiera corregir o ayudar de antemano le doy las gracias.
Responder Con Cita
 



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
Procedimientos almacenados rcantu MySQL 0 30-06-2006 00:59:32
procedimientos almacenados Gabriel2 SQL 1 13-01-2005 14:50:09
Procedimientos Almacenados tuto Conexión con bases de datos 0 08-11-2004 14:42:05
Procedimientos almacenados VS UDF rqc Firebird e Interbase 6 18-03-2004 01:29:46
Procedimientos Almacenados Gabriel A Reyes MS SQL Server 5 07-07-2003 14:08:46


La franja horaria es GMT +2. Ahora son las 00:59:27.


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