SQL Server存储过程等待参数

时间:2018-04-03 18:56:51

标签: sql-server asp.net-mvc dapper

我有一个SQL Server存储过程:

exec GetBob @id=3

但是当我在函数中调用此存储过程时,我收到错误:

  

过程或函数需要@id参数

但是@id是正确的参数(获取值)。

public List<Bob> GetBob(int id)
{
    try
    {
        connection();
        con.Open();

        DynamicParameters param = new DynamicParameters();
        param.Add("@id", id);

        IList<Bob> EmpList = SqlMapper.Query<Bob>(con, "GetBob", param).ToList();
        con.Close();

        return EmpList.ToList();
    }
    catch (Exception)
    {
        throw;
    }
}

1 个答案:

答案 0 :(得分:5)

试试这个。你应该好。您需要提供command Type Stored Procedure。{/ p>

public List<Bob> GetBob(int id)
{
    try
    {
        connection();
        con.Open();
        DynamicParameters param = new DynamicParameters();
        param.Add("@id", id);
        IList<Bob> EmpList = SqlMapper.Query<Bob>(
                          con, "GetBob",param,commandType: CommandType.StoredProcedure).ToList();
        con.Close();
        return EmpList.ToList();
    }
    catch (Exception)
    {
        throw;
    }
}