ホームページ > データベース > mysql チュートリアル > C# でストアド プロシージャから戻り値を取得する方法

C# でストアド プロシージャから戻り値を取得する方法

Patricia Arquette
リリース: 2025-01-06 02:55:39
オリジナル
389 人が閲覧しました

How to Retrieve Return Values from Stored Procedures in C#?

C# でストアド プロシージャから戻り値を取得する

この記事では、C# でストアド プロシージャから戻り値を取得する方法について説明します。

次の名前のストアド プロシージャを考えてみましょう。 "[dbo].[Validate]":

ALTER PROCEDURE [dbo].[Validate]
@a varchar(50),
@b varchar(50) output

AS

SET @Password = 
(SELECT Password
FROM dbo.tblUser
WHERE Login = @a)

RETURN @b
ログイン後にコピー

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

using System;
using System.Data;
using System.Data.SqlClient;

namespace StoredProcedureReturnValue
{
    class Program
    {
        static void Main(string[] args)
        {
            // Assuming you have a connection string defined in your app config
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString;

            // Create a connection and command object
            using (SqlConnection SqlConn = new SqlConnection(connectionString))
            using (SqlCommand sqlcomm = new SqlCommand("Validate", SqlConn))
            {
                // Specify the stored procedure
                sqlcomm.CommandType = CommandType.StoredProcedure;

                // Add input parameters
                SqlParameter inputParam = new SqlParameter("@a", SqlDbType.VarChar, 50);
                inputParam.Value = "myUsername";
                sqlcomm.Parameters.Add(inputParam);

                // Add an output parameter to receive the return value
                SqlParameter outputParam = new SqlParameter("@b", SqlDbType.VarChar, 50);
                outputParam.Direction = ParameterDirection.ReturnValue;
                sqlcomm.Parameters.Add(outputParam);

                // Open the connection and execute the stored procedure
                SqlConn.Open();
                sqlcomm.ExecuteNonQuery();

                // Retrieve the output value
                string returnValue = (string)outputParam.Value;

                // Do something with the return value
                Console.WriteLine($"Return value: {returnValue}");
            }
        }
    }
}
ログイン後にコピー

Key注意点:

  • 必ず ExecuteNonQuery() を呼び出してください。ストアド プロシージャを実行するには、SqlCommand オブジェクトを使用します。
  • 戻り値を受け取るには、出力パラメーターの方向を ReturnValue に設定する必要があります。
  • 最後に、出力の Value プロパティから戻り値を取得します。パラメータ。

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

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