2012-01-30 8 views
1

私はエンタープライズライブラリを使用してデータベースを照会し、GetStoredProcCommandを使用してデータベースを照会しています。問題は、出力パラメータを使用したいときに発生します。私は、出力パラメータを追加したい場合はエンタープライズライブラリを使用し、出力パラメータを別の方法で追加する

DbCommand cmd = db.GetStoredProcCommand("storedProcedureName", param1, param2, param3, ...); 

今、私は単に私はあなたが10個の入力パラメータを使用している場合db.AddInParameter(cmd, "param1", DbType.Int32, param1);

を使用して、すべての入力パラメータを追加する必要がありますdb.AddOutParameter(cmd, "@TotalNumber", DbType.Int64, sizeof(Int64));

を書き込むことはできません、あなたのコードでそれらを一つずつ追加するのは大丈夫ではなく、一度に同じ関数呼び出しでそれらをすべて追加することができればいいと思います。出力パラメータを使用しながらこれを行う方法はありますか?

答えて

0

基本的にあなたがする必要があるすべては、出力パラメータのnull(本当にか何か)を渡しているとあなたはDbCommand GetStoredProcCommand(string storedProcedureName, params object[] parameterValues)

パラメータにコメントからdb.AddOutParameter

を気にする必要はありませんストアドプロシージャが検出され、値が順番に割り当てられます。

彼らはあなたを教えていないことはDbのパラメータの数は、あなたがまだ気にいらを渡す必要があり、すべての出力DBパラメータのためにそうResources.ExceptionMessageParameterMatchFailureを買ってあげるのparamsと同じではありませんです。

また、値を割り当てるときにデータベースパラメータの方向をチェックするということも教えてくれません。出力すれば、あなたの価値を飛ばすだけです。

関連する問題