首页 > 解决方案 > 在 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 

标签: c#asp.net

解决方案


推荐阅读