Sql server SQL Server存储过程等待参数
我有一个SQL Server存储过程:Sql server SQL Server存储过程等待参数,sql-server,asp.net-mvc,dapper,Sql Server,Asp.net Mvc,Dapper,我有一个SQL Server存储过程: exec GetBob @id=3 但当我在函数中调用此存储过程时,会出现以下错误: 过程或函数需要@id参数 但是@id是正确的参数get值 public List<Bob> GetBob(int id) { try { connection(); con.Open(); DynamicParameters param = new DynamicParameters();
exec GetBob @id=3
但当我在函数中调用此存储过程时,会出现以下错误:
过程或函数需要@id参数
但是@id是正确的参数get值
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;
}
}
试试这个。你应该很好。您需要提供它是存储过程的命令类型
试试这个。你应该很好。您需要提供它是存储过程的命令类型
Express parametr@id未指定的参数。未指定的My TranslateXpress Parameterr@id参数。我的translateSide注释:这里不需要动态参数;只需使用新的{id}作为参数即可。附加说明:.AsList的效率略高于.ToList;附加说明:您是否知道您实际上不需要为dapper打开连接,特别是在这种情况下?另一个侧记:不要只是为了扔而抓——甚至不要尝试——如果你想让它发生的话,就让它发生吧。注:这里不需要动态参数;只需使用新的{id}作为参数即可。附加说明:.AsList的效率略高于.ToList;附加说明:您是否知道您实际上不需要为dapper打开连接,特别是在这种情况下?小巧玲珑会处理好的。附加说明:不要只是为了扔而接球——甚至不要尝试——如果你要这样做的话,就让它发生吧
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;
}
}