ADO.NET での出力パラメーター値へのアクセス
このガイドでは、ADO.NET 内のストアド プロシージャから出力パラメータ値を簡単に取得する方法を説明します。 このプロセスには次の重要な手順が含まれます:
出力パラメータを定義します: SqlParameter
オブジェクトを作成し、その Direction
プロパティを ParameterDirection.Output
に設定します。 パラメーターの名前とデータ型 (SqlDbType
) がストアド プロシージャで定義されているもの (@ID INT OUT
など) と正確に一致していることを確認してください。
コマンドパラメータに追加: この SqlParameter
オブジェクトを Parameters
オブジェクトの SqlCommand
コレクションに追加します。
ストアド プロシージャを実行します: SqlCommand.ExecuteNonQuery()
を使用してストアド プロシージャを実行します。
出力値の取得: 実行後、Value
オブジェクトの SqlParameter
プロパティを使用して出力パラメーターの値にアクセスします。 エラーを防ぐために、取得した値を正しいデータ型にキャストしてください。
このプロセスを示す実践的なコード例を次に示します。
<code class="language-csharp">// Assuming a stored procedure 'sproc' with an output parameter '@ID' // and a connection string 'connectionString' using (SqlConnection conn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand("sproc", conn)) { SqlParameter outputParam = new SqlParameter("@ID", SqlDbType.Int) { Direction = ParameterDirection.Output }; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(outputParam); conn.Open(); cmd.ExecuteNonQuery(); int retrievedId = (int)outputParam.Value; //Retrieve and cast the output integer value conn.Close(); }</code>
出力値は、SqlParameter
オブジェクト自体から簡単に取得できます。 SqlParameter
のデータ型がストアド プロシージャの出力パラメーター定義と一致していることを確認することが重要です。 例外を回避するには、取得中にデータ型を正確にキャストすることが不可欠です。
以上がADO.NET のストアド プロシージャから出力パラメータ値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。