Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

funcion plsql y visual basic

Estas en el tema de funcion plsql y visual basic en el foro de Visual Basic clásico en Foros del Web. Buenas Tengo un problema que me trae loca. Quiero ejecutar una funcion pl sql desde Visual basic, le envio los parametros correctamente pero no se ...
  #1 (permalink)  
Antiguo 20/05/2005, 03:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 1
Antigüedad: 19 años
Puntos: 0
funcion plsql y visual basic

Buenas

Tengo un problema que me trae loca. Quiero ejecutar una funcion pl sql desde Visual basic, le envio los parametros correctamente pero no se como puedo recoger el valor que devuelve dicha funcion.

Este es el codigo de Visual Basic

Dim CMDSPALTA As ADODB.Command
Dim G As Integer
Sub ALTA_ADMINISTRATIVA() 'Ejecutar funcion para crear la guardia

Set CMDSPALTA = New ADODB.Command
CMDSPALTA.Parameters.Append CMDSPALTA.CreateParameter("@I_VE", adChar, adParamInput, 200, cmbVeterinario.Text)'Parametro de entrada Veterinario
CMDSPALTA.Parameters.Append CMDSPALTA.CreateParameter("@I_CU", adChar, adParamInput, 200, cmbCuidador.Text)'Parametro de entrada Cuidador
CMDSPALTA.Parameters.Append CMDSPALTA.CreateParameter("@I_FECHA", adChar, adParamInput, 200, txtfechaA.Text)'Parametro de entrada Fecha
CMDSPALTA.CommandText = "F_GUARDIA" 'Nombre de la funcion
CMDSPALTA.CommandType = adCmdStoredProc
Set CMDSPALTA.ActiveConnection = con 'Abrir base de datos
G = CMDSPALTA.Execute
msgbox G
End Sub


Y ahora os pongo el codigo de la funcion en plsql

CREATE OR REPLACE function F_GUARDIA (I_VE IN CHAR,I_CU IN CHAR, I_FECHA IN CHAR) RETURN INTEGER IS
D INTEGER;
X_FECHA DATE;


BEGIN

D:=2;
X_FECHA:=TO_DATE(I_FECHA,'DD/MM/YYYY');

IF I_VE IS NOT NULL THEN

INSERT INTO GUARDIAS
(COD_PERSONAL,
FECHA)
SELECT PERSONAL.COD_PERSONAL, x_FECHA
FROM PERSONAL, VETERINARIOS
WHERE PERSONAL.COD_PERSONAL=VETERINARIOS.COD_PERSONAL
AND PERSONAL.APELLIDOS=I_VE;

END IF;

IF I_CU IS NOT NULL THEN

INSERT INTO GUARDIAS
(COD_PERSONAL,
FECHA)
SELECT PERSONAL.COD_PERSONAL,x_FECHA
FROM PERSONAL, CUIDADORES
WHERE PERSONAL.COD_PERSONAL=CUIDADORES.COD_PERSONAL
AND PERSONAL.APELLIDOS=I_CU;

END IF;

COMMIT;

RETURN D;

END;

/

Haber si alguien sabe como recoger el valor que da la funcion.

Muchas Gracias
Un besote
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.