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
로 설정합니다.
저장 프로시저를 실행한 후 매개변수의 Value
속성을 사용하여 출력 매개변수 값을 검색할 수 있습니다. 그런 다음 검색된 값을 C# 코드에서 사용할 수 있습니다.
이러한 단계를 수행하면 C# 코드의 저장 프로시저 출력 매개 변수를 효과적으로 사용하여 SQL Server 저장 프로시저에서 데이터를 검색할 수 있습니다.
위 내용은 C#의 SQL Server 저장 프로시저에서 출력 매개 변수를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!