SQL 服务器存储过程等待参数

SQL Server stored procedure waiting parameter

我有一个 SQL 服务器存储过程:

exec GetBob @id=3

但是当我在函数中调用这个存储过程时,出现错误:

The procedure or function expects the @id parameter

但是@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;
    }
}

试试这个。你应该很好。您需要提供 command Type 它是 Stored Procedure.

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;
    }
}