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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-05-2007
hperez hperez is offline
Miembro
 
Registrado: may 2007
Posts: 21
Poder: 0
hperez Va por buen camino
Procedimiento almacenado usando ADO

Como llamar a un procedimiento almacenado PL/SQL, que tenga parametros IN/OUT usando ADO
Responder Con Cita
  #2  
Antiguo 25-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hay un componente de la paleta ADO para eso. TADOStoredProc.
Revisa la ayuda y ejemplos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 25-05-2007
hperez hperez is offline
Miembro
 
Registrado: may 2007
Posts: 21
Poder: 0
hperez Va por buen camino
lo que realmente necesito es un ejemplo de como puedo llamar desde dephi a este procedimento que tengo en oracle:
Codigo PL/SQL:
CREATE OR REPLACE PACKAGE IDIOMAS IS
FUNCTION Add_Reg(pc_Descripcion IN VARCHAR,
pc_Estado IN VARCHAR) RETURN NUMBER;
END pqtT_Idio;
/
CREATE OR REPLACE PACKAGE BODY IDIOMAS IS

FUNCTION Add_Reg(pc_Descripcion IN VARCHAR,
pc_Estado IN VARCHAR) RETURN NUMBER IS
BEGIN
--Insertar el registro
INSERT INTO idiomas VALUES( pc_Descripcion, pc_Estado);
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
--Delvover 0, ya que hubo un error
RETURN 0;
END Add_Reg;

END pqtT_Idio;
/
Me estoy conectando por ADO...
Responder Con Cita
  #4  
Antiguo 25-05-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 22
Paoti Va por buen camino
peudes usar un query para hacer esto:



para llamar una función desde Oracle. puedes hacer esto:


Código SQL [-]

SELECT MYFUNCION(PARAMETROS) resultado FROM DUAL;

Y la tabla que te va a devolver, se compondra de una columna llamada resultado, con una fila que contendra el valor de tu funcón, ya lo demas es abrir la consulta y listo.


para pasar parametros, busca en los foros, como pasar parametros a un Tquery, o a TStoreProcedure.


Para coencatrte a un Tquery, en cualquier docuemntacion basica, aparece como... busca en marteens.com la cara oculta de delphi 4, se ven todas las cosas de como conectar a base de datos y pasar parametros. con la ayuda de arriba, peudes ejecutar una función.

saludos
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #5  
Antiguo 26-05-2007
hperez hperez is offline
Miembro
 
Registrado: may 2007
Posts: 21
Poder: 0
hperez Va por buen camino
Esta es la solucion

Codigo Delphi:
ADOStoredProc1.Connection:= ADOConnection;;
ADOStoredProc1.ProcedureName:='Nombre-del-proceso-almacenado';
ADOStoredProc1.Parameters.ParamByName('parametro1').Value:= Edit1.text;
ADOStoredProc1.Parameters.ParamByName('parametro2').Value:= Edit2.text;
ADOStoredProc1.ExecProc;
//los parametros 1 y 2 se deben definir por el object inspector en la propiedad parametros del ADOStoredProc.


Me gustaria saber como puedo crear esto parametros por codigo sin tener que adicionarlos por el object inspector ??
Responder Con Cita
  #6  
Antiguo 26-05-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
En la configuración habitual (por defecto), los parámetros se crean automáticamente cuando asignas el nombre del procedimiento almacenado por código, siempre que la base de datos esté abierta.

Ignoro si sea posible cambiar este comportamiento.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 14-09-2007
jatmes jatmes is offline
Registrado
 
Registrado: may 2004
Posts: 2
Poder: 0
jatmes Va por buen camino
Procedures

LISTO ASI SE HACE
StoredProc1.StoredProcName:= 'hola';
StoredProc1.Prepare;
StoredProc1.ParamByName('CODSUB').AsString := '20 ';
StoredProc1.ExecProc;


PERO RESULTA QUE SI HOLA ES UN PAQUETE DE SUB.HOLA ME SALE ERROR
COMO LO PUEDO EJECUTAR ?
GRACIAS DE ANTEMANO
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
procedimiento almacenado kejos MS SQL Server 3 02-09-2008 17:39:22
Actualizar tabla usando procedimiento almacenado efelix Conexión con bases de datos 16 18-12-2006 16:30:34
Procedimiento Almacenado egostar Firebird e Interbase 4 15-12-2006 02:04:07
Procedimiento almacenado LucianoRey MS SQL Server 2 23-08-2005 00:37:06
procedimiento almacenado haron Firebird e Interbase 2 29-09-2003 01:09:56


La franja horaria es GMT +2. Ahora son las 20:26:41.


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