ADO.NET を使用した出力パラメーター値へのアクセス
ADO.NET ストアド プロシージャは、多くの場合、出力パラメータを利用して、プロシージャの実行結果のデータを返します。 このガイドでは、これらの値を取得する方法について詳しく説明します。
このプロセスには次の重要な手順が含まれます:
SqlParameter
オブジェクトを定義します。 SqlParameter
インスタンスを作成し、パラメーターの名前、データ型を指定し、重要なことに、その Direction
プロパティを ParameterDirection.Output
に設定します。
SqlParameter
を SqlCommand
に追加します: 新しく作成した SqlParameter
を SqlCommand
の Parameters
コレクションに追加します。 これにより、ストアド プロシージャからパラメーターにアクセスできるようになります。
ストアド プロシージャを実行します。 SqlCommand
を実行します。 このアクションは、ストアド プロシージャによって生成された値で出力パラメーターを更新します。
出力値を取得します: 実行後、Value
オブジェクトの SqlParameter
プロパティを介して出力パラメーターの値にアクセスします。 取得した値を適切なデータ型にキャストすることを忘れないでください。
例:
<code class="language-csharp">using (SqlConnection conn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand("sproc", conn)) { // Define output parameter (@ID, int type) SqlParameter outputIdParam = new SqlParameter("@ID", SqlDbType.Int) { Direction = ParameterDirection.Output }; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(outputIdParam); conn.Open(); cmd.ExecuteNonQuery(); int id = (int)outputIdParam.Value; // Cast to int conn.Close(); }</code>
重要な考慮事項:
SqlDbType
内の SqlParameter
がデータベースの出力パラメーターのデータ型と正確に一致していることを確認してください。 おそらく null 許容型 (null
) または null 合体演算子 (int?
) を使用して、潜在的な ??
値を適切に処理します。
以上がADO.NET を使用してストアド プロシージャから出力パラメータ値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。