【问题标题】:Update value of IDbCommand's parameters更新 IDbCommand 参数的值
【发布时间】:2018-04-25 11:02:01
【问题描述】:

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

【问题讨论】:

标签: c# sql ado.net


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-01-04
    • 2013-01-23
    • 2013-08-18
    • 2011-06-03
    • 2014-02-01
    • 2013-04-02
    • 2023-03-21
    • 2012-08-19
    • 1970-01-01
    相关资源
    最近更新 更多