2017-01-21 6 views
1
int? t = 0; 
cmd.Parameters.AddWithValue("@Res", ref t); 

を使用している間、私はエラー引数2は、私は2番目の行でエラーが出るREFキーワードで渡すことはできません取得しています:ado.net

引数2がrefキーワードを渡すことはできません。

答えて

0

パラメータも同様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コマンドパラメータを伝える方法はありませんこのコマンドを使用します。

代わりに、適切な値を計算して、それをパラメータ値に設定します。

+0

@ m.rogalski:Doh、yes - c&p error。一定! –