int? t = 0;
cmd.Parameters.AddWithValue("@Res", ref t);
我在第二行收到错误:
参数2可能不会与ref关键字一起传递。
答案 0 :(得分:1)
如果参数也是ref
参数,则只能通过引用ref
传递参数。 AddWithValue
没有任何ref
参数,因此您无法以这种方式使用它。请注意,如果参数具有ref
修饰符,则在调用方法时有指定ref
。所以:
public void WithRef(ref int x) {}
public void WithoutRef(int x) {}
...
int y = 0;
// Valid
WithRef(ref y);
WithoutRef(y);
// Invalid
WithRef(y);
WithoutRef(ref y);
基本上,没有办法告诉ADO.NET命令参数来跟踪变量的当前值 - 毕竟,该变量可能是一个局部变量,在您使用该命令时它将“消失”。 / p>
相反,只需计算正确的值,然后将其设置为参数值。