Обновить значение параметров IDbCommand - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу обновить значение 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;
}

1 Ответ

0 голосов
/ 25 апреля 2018

Вам необходимо привести его к IDbDataParameter, поскольку индексатор IDataParameterCollection возвращает тип object:

var parameterName = "@" + name;
if (command.Parameters.Contains(parameterName))
{
     var parameter = command.Parameters[parameterName] as IDbDataParameter;
     parameter.Value = value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...