La requête paramétrée qui n'a pas été fournie
Je reçois cette erreur :
De la requête paramétrée '(@AdminEmail de type nvarchar(4000),@AdminPassword
nvarchar(4000))SÉLECTIONNEZ " attend le paramètre '@AdminEmail", qui a été
ne sont pas fournis.
Code:
Public Function AuthenticateAdmin() As Boolean
Dim Success As Boolean
Dim strConn As String
strConn = ConfigurationManager.ConnectionStrings("HMVDb").ToString
Dim conn As New SqlConnection(strConn.ToString())
Dim cmd As New SqlCommand("SELECT * FROM Admin WHERE AdminEmail=@AdminEmail AND Adminpassword=@Adminpassword", conn)
cmd.Parameters.AddWithValue("@AdminEmail", EMail)
cmd.Parameters.AddWithValue("@AdminPassword", Password)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet
conn.Open()
da.Fill(ds, "Admin")
conn.Close()
If ds.Tables("Admin").Rows.Count > 0 Then
Dim aemail As String = ds.Tables("Admin").Rows(0).Item("AdminEmail")
Dim apass As String = ds.Tables("Admin").Rows(0).Item("AdminPassword")
Dim aid As Integer = ds.Tables("Admin").Rows(0).Item("AdminID")
Dim aname As String = ds.Tables("Admin").Rows(0).Item("AdminName")
If EMail = aemail And Password = apass Then
ID = aid ' Shopper ID that identify Ecader
Name = aname
Success = True 'Shopper is authenticated
Else
Success = False 'Authentication fail
End If
End If
'Return the authentication result to calling program
Return Success
End Function
source d'informationauteur saravanan
Vous devez vous connecter pour publier un commentaire.
Votre
@AdminEmail
variableEMail
est null. Vous ne pouvez pas passer unnull
sur un paramètre obligatoire. UtilisationDBNull.Value
.Lors de l'utilisation de
null
vous informant de Sql Server que vous êtes en omettant le paramètre. Cela peut être utile pour une option de paramètre avec une valeur par défaut, mais provoque une erreur d'un paramètre requis.Je recommande que vous utilisez toujours utiliser une fonction d'utilité lorsque le passage d'une valeur à un paramètre de commande.
Par exemple:
et ensuite utiliser
Est-il possible que l'e-Mail de la propriété est null (e-Mail est Rien)? Je pense que vous pourriez obtenir que l'erreur dans ce cas. Assurez-vous que l'e-Mail = String.Vide ou EMail = "" avant de définir votre valeur de paramètre.
Edit: Ou comme une autre réponse suggère, vous pouvez envoyer DBNull.Valeur à la place si vous voulez vraiment les valeurs null dans votre base de données.
Étape par le biais de votre code et de voir ce que la valeur de
Email
etPassword
sont. Les Chances sont qu'ils sont nuls.