SQL Server错误“过程需要参数”

时间:2015-05-04 20:46:21

标签: c# sql sql-server

我正在写一个登录脚本。但是当我想检查用户是否已经存在错误时:

  

附加信息:过程或函数'checkIfUserExcist'需要参数'@username',这是未提供的。

会出现。

当我用一个参数执行存储过程时,它将成功。播下我的代码有问题,但我找不到错误。

这是存储过程:

@username varchar(50)
as
begin 
    SELECT count(*) 
    FROM lars.userAcces 
    WHERE username = @username
end

这是我的C#代码:

public static bool checkIfUserExists(string username)
{
        int temp=0;

        SqlConnection conn = SqlConn.openSqlConnection();
        conn.Open();

        SqlCommand com = new SqlCommand("checkIfUserExists", conn);
        com.Parameters.AddWithValue("@username", username);

        temp = Convert.ToInt32(com.ExecuteScalar().ToString());
        conn.Close();

        if (temp == 1)
        {
            return true;
        }
        else
        {
            return false;
        }
}

1 个答案:

答案 0 :(得分:6)

您需要告诉您的SqlCommand它使用存储过程 - 如下所示:

SqlCommand com = new SqlCommand("checkIfUserExcist", conn);
-- add this line here
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@username", username);