Buenas, estoy trabajando con Visual Studio 2005, no tengo mucha experiencia pero creo mas o menos me estaba encaminando bien, hasta que me perdi totalmente. La idea es hacer una validacion de Usuario y Clave. El Stored que utilizo es el siguiente:
CREATE PROCEDURE [dbo].[SP_userValido]
@USUARIO VarChar (25),
@CLAVE VarChar (25),
@STATUS Integer OUTPUT
AS
DECLARE @COUNT AS INT
SELECT @COUNT = COUNT (*) FROM TB_Usuarios WHERE Usuario = @USUARIO
IF @COUNT = 0 BEGIN
SET @STATUS = 0
RETURN
END
ELSE BEGIN
SET @COUNT = 0
SELECT @COUNT = COUNT (*) FROM TB_Usuarios WHERE Clave = @CLAVE
IF @COUNT = 0 BEGIN
SET @STATUS = 1
RETURN
END
ELSE BEGIN
SET @STATUS = 2
RETURN
END
END
GO
Lo que no puedo hacer es capturar el valor del parametro que recibo del Stored (ya sea Status 0, 1 o 2)... La idea es poder decir en caso de error, si lo que es incorrecto es el Nombre de Usuario o es incorrecta la clave. Bueno, a continuacion les muestro lo que realizo en mi pagina aspx.vb:
Public Sub btn_login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_login.Click
'conexión
Dim oCnn As New SqlConnection("Data Source=srvdata;Initial Catalog=Escuela.NET;User Id=Escuela .NET;Password=escuela;")
oCnn.Open()
'command para ejecutar el stored
Dim oCmm As New SqlCommand
oCmm.CommandType = CommandType.StoredProcedure
oCmm.CommandText = "SP_userValido"
oCmm.Connection = oCnn
'parámetros
Dim pUsuario As New SqlParameter
Dim pClave As New SqlParameter
Dim pStatus As New SqlParameter
pUsuario.ParameterName = "@USUARIO"
pUsuario.Direction = ParameterDirection.Input
pUsuario.Size = 25
pUsuario.Value = txt_userName.Text
pClave.ParameterName = "@CLAVE"
pClave.Direction = ParameterDirection.Input
pClave.Size = 25
pClave.Value = txt_clave.Text
pStatus.ParameterName = "@STATUS"
pStatus.Direction = ParameterDirection.Output
'le asigno los parámetros al command
oCmm.Parameters.Add(pUsuario)
oCmm.Parameters.Add(pClave)
oCmm.Parameters.Add(pStatus)
'dataadapter para llenar dataset
Dim dSet As New DataSet()
Dim dAdap As New SqlDataAdapter(oCmm)
dAdap.Fill(dSet)
Response.Write("RESPUESTA: " & pStatus.Value)
oCnn.Close()
oCnn = Nothing
End Sub
La verdad cambie tantas veces el codigo que ya me perdi, si alguien puede ayudarme para terminar y poder entender bien este tema lo agradeceria muchisimo.