La Web del Programador: Comunidad de Programadores
 
    Pregunta:  20039 - PROCEDIMIENTO ALMACENADO
Autor:  Christian Torres
Necesito Correr un Procedimiento Almacenado en Oracle con Parametros y lo necesito hacer con un Objeto ADODB.Conection.
¿Como lo Hago?

  Respuesta:  Jorge Mario Correal Bustamante
Hola cordial saludo, mira para invocar procedimientos almacenados con ADO se debe trabajar con el objeto Command y a través de este lo llamas y le pasas los parámetros que requieras, esto es valido para cualquier motor como SQL Server u Oracle en tu caso. observa el ej.

En Oracle tenemos un procedimiento llamado "AUSUARIOS" así:

CREATE OR REPLACE PROCEDURE AUSUARIOS(TxtCed in varchar2,TxtNom in varchar2,TxtPer in number,TxtCla in varchar2)
as
begin
insert into USUARIOS(CEDULA,NOMBRES,PERFIL,CLAVE)
values (TxtCed,TxtNom,TxtPer,TxtCla)
;
end AUSUARIOS;
/
Luego en VB desde la interfaz lo llamas así:
Dim cmd As New Command
Set cmd.ActiveConnection = Cn\'Aquí va tu conexión
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "AUSUARIOS" \'Abrir procedimiento almacenado AUSUARIOS y agregar Usuario

cmd!TxtCed = UCase(TxtCed)
cmd!TxtNom = UCase(TxtNom)
cmd!TxtPer = CboPer
cmd!TxtCla = UCase(TxtCla)
cmd.Execute
set cmd = nothing \'Liberar Memoria

También es valida la sintaxis: cmd("TxtNom") en ves de: cmd!TxtNom
notarás que tanto en VB como en Oracle los campos tipo text y los parámetros se llaman igual, esto es por facilidad pero los puedes llamar como quieras, si tienes alguna duda..., eso es todo espero te sirva un abrazo y suerte