RETURN

JAHAIRA
29 de Noviembre del 2005
QUIERO SABER COMO HAGO RETORNAR DOS TIPOS DE VALORES DESDE MI PROCEDIMIENTO ALMACENADO, ME FUNCIONA CUANDO QUIERO DEVLOVER UNO PERO CUANOD QUIERO HACER RETORNAR DOS NO ME FUNCIONA A VER IS ALGUIEN ME DICE
BYE

mvallejos
29 de Noviembre del 2005
Dentro del store, podrías usar las variables de entorno Ret (Numerico) y Txt (Texto). Son de entorno, no hay que declararlas.
Dentro del store, vas a tener que tener una instruccion que haga lo siguiente


Select Ret = ValorNum, Txt = ValorTexto

Para que no te retorne otra cosa, la primer linea del store debe ser

Set NoCount On

Desde VB, capturas el llamado al store

Dim Cmd As New Adodb.Command
Dim R as New ADODB.Recordset

<seteo del command>
Set R = Cmd.Execute

En R, te va a quedar un registro único, cuyo primer campo se corresponderá con Ret del store y el segundo con Txt

Saludos





JAHAIRA
29 de Noviembre del 2005
EL PROBLEMA ES QUE YO QUIERO QUE DEVUELVA DOS VALORES POR EJEMPLO QUE DEVUELVA EL VALOR 1 SI ES QUE HISO CORRECTAMENTE LO QUE YO LE DIJE QUE HAGA Y QUE DEVUELVA DOS SI TUVO OTRA LATERNATIVA QUE NO ES NECESARIAMENTE DE ERROR ME ENTIENDES

mvallejos
29 de Noviembre del 2005
Si, entiendo, usas Ret para el valor numérico, dentro del store, si hay error podés retornar un valor negativo, caso contrario 1 o 2, después de

Set R = Cmd.Execute

Puedes preguntar por los valores de los campos de R

If R.Fields(0).Value < 0 then
MsgBox "Error"
Exit Sub
end if
If R.Fields(0).Value = 1 then
<< acciones por valor 1>>
Else
<< acciones por valor 2>>
End if

Saludos