Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengambil Parameter Output daripada Prosedur Tersimpan SQL Server dalam 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:
<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>
Untuk melaksanakan prosedur tersimpan ini dalam C#, anda boleh menggunakan coretan kod berikut:
<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>
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 Direction
nya 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!