Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   q onda con el parametro @return_value? (http://www.forosdelweb.com/f29/q-onda-con-parametro-return_value-273875/)

arcus 24/02/2005 06:42

q onda con el parametro @return_value?
 
saludos:

en vez de agregar`parametros , los recato del procedimiento con
SqlCommandBuilder.DeriveParameters(comandoProc)
donde comandoProc es un sqlcommand,pero simepre rescate en el index 0 el parametro @return_value,pero el el procedimiento no tiene parametros,obviamente no rescata nada,pero si existiera por ejemplo el prametro @nombre, al rescatar, siempre en el 0 pone el @return_value y despues en el indice 1 el @nombre,,,
para que sirve el @return_value, tendre problemas si lo borro?,,ya q lo e borrado y al parecer todo sin problemas o lo otro es comenzar a trabajar con los indices de 1,,,,,

gracias

RootK 24/02/2005 09:35

Cita:

para que sirve el @return_value
por lo regular se ocupara para regresar algun valor de tu SP, es decir, haces algun tipo de comparacion interna y dependiendo del resultado regresaras lo que necesitas.

Claro que todo depende de que estes haciendo.

por ejemplo, tienes un SP como ésto:

Cita:

CREATE PROCEDURE dbo.SelectCustomers
(
@EmployeeID int
)
AS
declare @i INT

set @i =
(
SELECT count(*) FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
WHERE (Orders.EmployeeID = @EmployeeID)
)

IF @i > 1
--REGRESO ALGUN VALOR
return 12
ELSE
--OTRO VALOR
return 23

GO
Y ya por código haces un executenonquery para obtener despues el valor:

ejemplo:
Cita:

...
...
Dim paramReturn As SqlParameter

paramReturn = myCommand.Parameters.Add("@RETURN_VALUE", SqlDbType.Int)
paramReturn.Direction = ParameterDirection.ReturnValue

Dim param As New SqlParameter("@EmployeeID", SqlDbType.Int)
param.Value = 30
myCommand.Parameters.Add(param)

Dim intResult As Integer

myConnection.Open()
myCommand.ExecuteNonQuery()
'aqui recibo el valor que regresa mi SP ;-)
intResult = myCommand.Parameters("@RETURN_VALUE").Value
myConnection.Close()

Response.Write("resultado = " & intResult)
Es un ejemplo muy general, solo espero que lo hayas entendido.

Salu2


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.