Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengambil Parameter Output daripada Prosedur Tersimpan SQL Server dalam C#?

Bagaimana untuk Mengambil Parameter Output daripada Prosedur Tersimpan SQL Server dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-10 11:16:41
asal
858 orang telah melayarinya

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

Menggunakan parameter output prosedur tersimpan dalam C#

Apabila mendapatkan semula data daripada prosedur tersimpan SQL Server, anda selalunya perlu mengakses parameter output prosedur tersimpan dalam kod C#. Walau bagaimanapun, memahami cara melakukan ini dengan berkesan boleh menjadi satu cabaran.

Pertimbangkan prosedur tersimpan bernama usp_InsertContract yang memasukkan rekod baharu ke dalam jadual Contracts dan mengembalikan kunci utama yang diberikan sebagai parameter output:

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
Salin selepas log masuk

Untuk melaksanakan prosedur tersimpan ini dalam C#, anda boleh menggunakan coretan kod berikut:

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}");
            }
        }
    }
}
Salin selepas log masuk

Dalam coretan kod ini, objek SqlConnection dan SqlCommand digunakan untuk mewujudkan sambungan ke pangkalan data dan melaksanakan prosedur tersimpan. Tambahkan parameter input @ContractNumber pada arahan dan cipta parameter output @NewId dan tetapkan atribut Directionnya kepada ParameterDirection.Output.

Selepas melaksanakan prosedur tersimpan, nilai parameter output boleh diambil menggunakan atribut Value parameter. Nilai yang diperoleh kemudian boleh digunakan dalam kod C#.

Dengan mengikut langkah ini, anda boleh menggunakan parameter output prosedur tersimpan dalam kod C# dengan berkesan untuk mendapatkan semula data daripada prosedur tersimpan SQL Server.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Parameter Output daripada Prosedur Tersimpan SQL Server dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan