C# SqlDependencies—当使用存储过程作为命令时,如何指定输入参数

C# SqlDependencies—当使用存储过程作为命令时,如何指定输入参数,c#,sql,tsql,dependencies,C#,Sql,Tsql,Dependencies,使用以下命令创建命令时: _command = new SqlCommand(statementOrProcedure, _connection) { CommandType = CommandType.StoredProcedure }; 存储过程不需要输入参数,工作正常 一旦存储的进程需要输入参数,我将执行以下操作: private void AddStoredProcedureParameters(Dictionary<string, object> parameters)

使用以下命令创建命令时:

_command = new SqlCommand(statementOrProcedure, _connection) { CommandType = CommandType.StoredProcedure };
存储过程不需要输入参数,工作正常

一旦存储的进程需要输入参数,我将执行以下操作:

private void AddStoredProcedureParameters(Dictionary<string, object> parameters)
 {
     if (parameters != null)
         {
             foreach (KeyValuePair<string, object> param in parameters)
                 {
               _command.Parameters.Add(new SqlParameter(param.Key, param.Value) { Direction = ParameterDirection.Input });
           }
      }
 }
private void AddStoredProcedureParameters(字典参数)
{
if(参数!=null)
{
foreach(参数中的KeyValuePair参数)
{
_Add(新的SqlParameter(param.Key,param.Value){Direction=ParameterDirection.Input});
}
}
}
SQLDependency不断返回,其中from语句无效。我100%确定param.Key与输入参数名匹配


这两个存储过程之间的唯一区别是我添加了输入参数,因此我知道该过程可以工作。

我的猜测:您是否真的在参数名称中包含了
@

是的。结果证明这不是问题所在。问题在于在创建过程中对存储过程设置的权限。不过还是要谢谢你