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

C# で SQL Server ストアド プロシージャから出力パラメータを取得する方法

Mary-Kate Olsen
リリース: 2025-01-10 11:16:41
オリジナル
791 人が閲覧しました

How to Retrieve Output Parameters from SQL Server Stored Procedures in C#?

C# でのストアド プロシージャ出力パラメーターの使用

SQL Server ストアド プロシージャからデータを取得する場合、多くの場合、C# コードでストアド プロシージャの出力パラメータにアクセスする必要があります。ただし、これを効果的に行う方法を理解するのは難しい場合があります。

新しいレコードを usp_InsertContract テーブルに挿入し、割り当てられた主キーを出力パラメータとして返す Contracts という名前のストアド プロシージャを考えます。

<code class="language-sql">CREATE PROCEDURE usp_InsertContract
    @ContractNumber varchar(7),
    @NewId int OUTPUT
AS
BEGIN
    INSERT into [dbo].[Contracts] (ContractNumber)
        VALUES (@ContractNumber)
    Select @NewId = Id From [dbo].[Contracts] where ContractNumber = @ContractNumber
END</code>
ログイン後にコピー
このストアド プロシージャを C# で実行するには、次のコード スニペットを使用できます:

<code class="language-csharp">using System.Data;
using System.Data.SqlClient;

public class StoredProcedureOutputParameterExample
{
    public static void Main()
    {
        // 定义连接字符串并初始化连接。
        string connectionString = "Server=localhost;Database=MyDatabase;User Id=sa;Password=mypassword;";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // 创建命令对象。
            using (SqlCommand command = new SqlCommand("usp_InsertContract", connection))
            {
                // 将命令类型设置为StoredProcedure。
                command.CommandType = CommandType.StoredProcedure;

                // 向命令添加输入参数。
                command.Parameters.Add(new SqlParameter("@ContractNumber", SqlDbType.VarChar, 7) { Value = "ABC123" });

                // 向命令添加输出参数。
                SqlParameter newIdParameter = new SqlParameter("@NewId", SqlDbType.Int) { Direction = ParameterDirection.Output };
                command.Parameters.Add(newIdParameter);

                // 打开连接并执行命令。
                connection.Open();
                command.ExecuteNonQuery();

                // 检索输出参数值。
                int newId = (int)newIdParameter.Value;

                // 使用输出参数值。
                Console.WriteLine($"New ID: {newId}");
            }
        }
    }
}</code>
ログイン後にコピー
このコード スニペットでは、

オブジェクトと SqlConnection オブジェクトを使用してデータベースへの接続を確立し、ストアド プロシージャを実行します。入力パラメータ SqlCommand をコマンドに追加し、出力パラメータ @ContractNumber を作成し、その @NewId 属性を Direction に設定します。 ParameterDirection.Output

ストアド プロシージャの実行後、パラメータの

属性を使用して出力パラメータ値を取得できます。取得した値は C# コードで使用できます。 Value

これらの手順に従うことで、C# コードでストアド プロシージャの出力パラメーターを効果的に使用して、SQL Server ストアド プロシージャからデータを取得できます。

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

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