Hola
Tengo el siguiente procedimiento almacenado
PROCEDURE [dbo].[BuscarIdPais]
@PNombre NVarChar(50)
AS
DECLARE @result as smallint
SELECT @result = dbo.GEN_COUNTRY.Id from dbo.GEN_COUNTRY where
dbo.GEN_COUNTRY.Nombre = @PNombre
SELECT @result
Y trato de llamarlo desde VB 2005 de la siguiente forma:
Public Shared Function BuscarIdPais(ByVal Nombre As String) As
Integer
'Se le ingresa un nombre de un pais y devuelve el respectivo
ID
Dim connection As SqlClient.SqlConnection = _
New SqlClient.SqlConnection(Main.CnxStr)
connection.Open()
Try
Dim cmdParametrizado As Data.SqlClient.SqlCommand
Dim paramPais As Data.SqlClient.SqlParameter
Dim paramResultado As Data.SqlClient.SqlParameter
cmdParametrizado = New SqlClient.SqlCommand
("BuscarIdPais", connection)
cmdParametrizado.CommandType Data.CommandType.StoredProcedure
paramPais = cmdParametrizado.Parameters.Add("@PNombre",
Data.SqlDbType.NVarChar)
paramPais.Direction = Data.ParameterDirection.Input
paramPais.Value = Nombre 'Le asignamos el nombre del pais
que deseamos buscar
paramResultado = cmdParametrizado.Parameters.Add
("@result", Data.SqlDbType.SmallInt)
paramResultado.Direction = Data.ParameterDirection.Output
cmdParametrizado.ExecuteNonQuery() ' Ejecutamos la
consulta
Dim Resultado As Integer = paramResultado.Value
Return Resultado
Catch e As Exception
MessageBox.Show(e.Message)
Finally
connection.Close()
End Try
End Function
Pero no funciona, me muestra la siguiente excepcion:
La función o el procedimiento BuscarIdPais tiene demasiados
argumentos.
Que estoy haciendo mal?
Saludos y gracias!
Leer las respuestas