6

マニュアルによると、ExecuteScalar メソッドは次のように使用する必要があります。

public T ExecuteScalar<T>( 
   string commandText,
   CommandType commandType,
   params DbParameter[] parameters
)

しかし、そのパラメーターの配列を作成するにはどうすればよいでしょうか? ストアド プロシージャ 2 のパラメーターを指定する必要があります。

4

5 に答える 5

4

parametersパラメータにはparamsキーワードがあります。つまり、配列を明示的に作成する必要はありませんが、可変数の引数をメソッドに渡すことができます。

x.ExecuteScalar(commandText, commandType, parameter1, parameter2);

ただし、必要に応じて、配列を明示的に作成し、次のようにメソッドに渡すことができます。

DbParameter[] parameters = new DbParameter[] { parameter1, parameter2 };

x.ExecuteScalar(commandText, commandType, parameters);
于 2011-08-17T18:30:34.927 に答える
3

DbParameter は抽象クラスですが、派生型をインスタンス化できます。

Sql サーバーを使用している場合は、SqlParameter です。

 DbParameter[] parameters = new DbParameter[2]; 
 parameters[0]  = new SqlParameter("param1",  123456);
 parameters[1]  = new SqlParameter("param2",  "abcdef");
于 2011-08-17T18:39:14.573 に答える
1

params キーワードは、さまざまな数のパラメーターを指定できることを意味します (つまり、1 から [ほぼ] 無限大まで)。

次のようにメソッドを呼び出すことができます。 ExecuteScalar<SomeType>("Command!", CommandType.SomeCommandType, dbParameter1, dbParameter2);

于 2011-08-17T18:30:22.930 に答える