更新 IDbCommand 的参数值

木原

我想在IDbCommand参数已经存在时更新它的值

    public void AddParameter(IDbCommand command, string name, object value)
    {
        var parameter = command.CreateParameter();
        parameter.ParameterName = "@" + name;
        parameter.Value = value;
        command.Parameters.Add(parameter);
    }

我尝试将此添加到我的方法中,但它不适用于IDBCommand,因为它是一个SqlCommand选项。

if (command.Parameters.Contains("@" + name))
{
     command.Parameters["@" + name].Value = value;
}
未找到代码

您需要将其强制转换IDbDataParameter因为IDataParameterCollection索引器返回一个object类型:

var parameterName = "@" + name;
if (command.Parameters.Contains(parameterName))
{
     var parameter = command.Parameters[parameterName] as IDbDataParameter;
     parameter.Value = value;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章