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

ADO.NET を使用して C# でストアド プロシージャから戻り値を取得する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-20 01:21:09934ブラウズ

How to Retrieve a Return Value from a Stored Procedure in C# using ADO.NET?

C# で戻り値を使用してストアド プロシージャを呼び出す

データベースにアクセスする際の一般的なニーズは、アプリケーションからストアド プロシージャ、特に数値を返すストアド プロシージャを呼び出すことです。この記事では、ADO.NET を使用して、整数値を返すストアド プロシージャを呼び出し、C# アプリケーションで結果を取得する方法を説明します。

ストアド プロシージャ

シーケンス名を指定してシーケンスの次の値を取得するストアド プロシージャ usp_GetNewSeqVal について考えてみましょう。 @SeqName パラメータを入力として受け取り、新しいシーケンス値を返します。

C# コード

このストアド プロシージャを呼び出して戻り値を取得するには、次のコードを使用できます:

<code class="language-csharp">using (SqlConnection conn = new SqlConnection(getConnectionString()))
using (SqlCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = parameterStatement.getQuery();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@SeqName", "SeqNameValue");

    // @ReturnVal 可以是任何名称
    var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    conn.Open();
    cmd.ExecuteNonQuery();
    var result = returnParameter.Value;
}</code>

重要な詳細

  • SqlCommand 正しいコマンド テキストと入力を使用して設定します。
  • 入力パラメータ@SeqNameがコマンドに追加されます。
  • 新しいパラメータ @ReturnVal を追加し、その方向を ParameterDirection.ReturnValue に設定します。これは、ストアド プロシージャ内に変数を作成し、戻り値をそれに割り当てるようにコマンドに指示します。
  • 接続が開かれ、ExecuteNonQuery を使用してクエリが実行されます。
  • 最後に、戻り値を returnParameter.Value 属性から取得できます。

以上がADO.NET を使用して C# でストアド プロシージャから戻り値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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