C# 更新IDbCommand的值';s参数
我想在C# 更新IDbCommand的值';s参数,c#,sql,ado.net,C#,Sql,Ado.net,我想在IDbCommand参数确实存在时更新该参数的值 public void AddParameter(IDbCommand command, string name, object value) { var parameter = command.CreateParameter(); parameter.ParameterName = "@" + name; parameter.Value = value; co
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
索引器返回一个对象
类型:
var parameterName = "@" + name;
if (command.Parameters.Contains(parameterName))
{
var parameter = command.Parameters[parameterName] as IDbDataParameter;
parameter.Value = value;
}
您需要将其强制转换为
IDbDataParameter
,因为IDataParameterCollection
索引器返回一个对象
类型:
var parameterName = "@" + name;
if (command.Parameters.Contains(parameterName))
{
var parameter = command.Parameters[parameterName] as IDbDataParameter;
parameter.Value = value;
}
请更具体地说,然后“不工作”。发生了什么或没有发生什么?IDBCommand参数没有此选项
command.Parameters[“@”+name]。Value
它看起来应该有:请比“不工作”更具体一些。发生了什么或没有发生什么?IDBCommand参数没有此选项command.Parameters[“@”+name]。Value
看起来应该有: