codice:
ALTER PROCEDURE [dbo].[SP_LOGIN_ID]
(
@USERID Varchar(20),
@PASSWORD Varchar(6),
@ID INT OUTPUT
)
AS
SELECT @ID = ID FROM TBLOCALI WHERE userid = @USERID AND pwd = @PASSWORD
IF @ID IS NULL SET @ID = -1
RETURN @id
mi dice che la SP si aspetta un @ID che non fornisco
questo e' il codice che uso per connettermi alla SP:
codice:
Dim conn As New SqlConnection(stringaconnessione)
Dim cmdLogin As SqlCommand
Dim parValoreRitorno As SqlParameter
' Preparo il command con la Stored Procedure
cmdLogin = New SqlCommand("SP_LOGIN_ID", conn)
cmdLogin.CommandType = CommandType.StoredProcedure
' Definisco il valore di ritorno
parValoreRitorno = cmdLogin.Parameters.Add("intID", SqlDbType.Int)
parValoreRitorno.Direction = ParameterDirection.ReturnValue
' Aggiungo i parametri di input
cmdLogin.Parameters.Add("@USERID", SqlDbType.VarChar).Value = Nomeutente
cmdLogin.Parameters.Add("@PASSWORD", SqlDbType.VarChar).Value = Password
' Eseguo
Try
conn.Open()
cmdLogin.ExecuteNonQuery()
If cmdLogin.Parameters("intID").Value <> -1 Then
Return cmdLogin.Parameters("intID").Value
Else
Throw New System.data.DataException("Errore ADO.Net")
Return -1
End If
Catch ex As System.data.DataException
HttpContext.Current.Response.Write("<font color=red>WARNING:</font>" & ex.Message)
Return -1
Catch ex As Exception
HttpContext.Current.Response.Write("<font color=red>WARNING:</font>" & ex.StackTrace)
Return -1
Finally
conn.Close()
cmdLogin.Dispose()
End Try