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

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

Susan Sarandon
リリース: 2025-01-19 06:30:10
オリジナル
991 人が閲覧しました

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

ADO.NET を使用した出力パラメーター値へのアクセス

ADO.NET ストアド プロシージャは、多くの場合、出力パラメータを利用して、プロシージャの実行結果のデータを返します。 このガイドでは、これらの値を取得する方法について詳しく説明します。

このプロセスには次の重要な手順が含まれます:

  1. SqlParameter オブジェクトを定義します。 SqlParameter インスタンスを作成し、パラメーターの名前、データ型を指定し、重要なことに、その Direction プロパティを ParameterDirection.Output に設定します。

  2. SqlParameterSqlCommand に追加します: 新しく作成した SqlParameterSqlCommandParameters コレクションに追加します。 これにより、ストアド プロシージャからパラメーターにアクセスできるようになります。

  3. ストアド プロシージャを実行します。 SqlCommand を実行します。 このアクションは、ストアド プロシージャによって生成された値で出力パラメーターを更新します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート