ホームページ >バックエンド開発 >C++ >ADO.NET のストアド プロシージャから出力パラメータ値を取得する方法

ADO.NET のストアド プロシージャから出力パラメータ値を取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-19 06:54:16333ブラウズ

How to Retrieve Output Parameter Values from Stored Procedures in ADO.NET?

ADO.NET での出力パラメーター値へのアクセス

このガイドでは、ADO.NET 内のストアド プロシージャから出力パラメータ値を簡単に取得する方法を説明します。 このプロセスには次の重要な手順が含まれます:

  1. 出力パラメータを定義します: SqlParameter オブジェクトを作成し、その Direction プロパティを ParameterDirection.Output に設定します。 パラメーターの名前とデータ型 (SqlDbType) がストアド プロシージャで定義されているもの (@ID INT OUT など) と正確に一致していることを確認してください。

  2. コマンドパラメータに追加: この SqlParameter オブジェクトを Parameters オブジェクトの SqlCommand コレクションに追加します。

  3. ストアド プロシージャを実行します: SqlCommand.ExecuteNonQuery() を使用してストアド プロシージャを実行します。

  4. 出力値の取得: 実行後、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。