c# - 在 asp.net web 表单中传递任何值的命令对象
问题描述
我有一个包含 1 条记录的表,我为它创建了一个存储过程以在我的按钮单击中使用,但它让我传递任何值,当我在 sql 中测试它时,它按预期工作。只是想知道你们中是否有人能指出我的代码中的错误。
protected void btnLogin_Click(object sender, EventArgs e)
{
SqlDataReader dr = default(SqlDataReader);
SqlCommand cmd = default(SqlCommand);
string userName = txtUserName.Text;
string password = txtPassword.Text;
using (SqlConnection conn = new SqlConnection(strConn))
{
cmd = new SqlCommand("adminAuthentication", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", userName);
cmd.Parameters.AddWithValue("@Password", password);
conn.Open();
dr = cmd.ExecuteReader();
dr.Read();
if (dr.HasRows)
{
lblMessage.Text = "Successfull login!";
}
else
{
lblMessage.Text = "Wrong user/password";
conn.Close();
}
}
}
存储过程:
CREATE PROC adminAuthentication
(
@UserName varchar(15),
@Password varchar(25)
)
AS
BEGIN
SELECT COUNT(1)
FROM AdminLogin
WHERE UserName = @UserName AND Pwd = @Password
END