C#의 저장 프로시저에서 출력 매개변수 검색
많은 데이터베이스 상호 작용에서는 저장 프로시저를 활용하여 데이터를 효율적으로 관리합니다. 일반적인 요구 사항은 특히 자동으로 생성된 기본 키를 처리할 때 출력 매개변수를 검색하는 것입니다. 이 예에서는 SQL Server 저장 프로시저로 작업할 때 C#에서 출력 매개 변수를 올바르게 처리하는 방법을 보여줍니다.
INSERT 작업 후 새로 생성된 기본 키를 캡처하려고 할 때 문제가 자주 발생합니다. 다음과 같은 수정된 저장 프로시저가 솔루션을 제공합니다.
<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 = SCOPE_IDENTITY(); END;</code>
이 저장 프로시저는 계약 번호를 승인하고 @NewId
을 사용하여 SCOPE_IDENTITY()
출력 매개변수를 통해 새로 생성된 ID를 반환합니다.
이 출력 매개변수를 검색하기 위해 업데이트된 C# 코드는 다음과 같습니다.
<code class="language-csharp">// Establish database connection and command object using (SqlConnection conn = new SqlConnection(pvConnectionString)) using (SqlCommand cmd = new SqlCommand("dbo.usp_InsertContract", conn)) { cmd.CommandType = CommandType.StoredProcedure; // Define and add parameters cmd.Parameters.AddWithValue("@ContractNumber", contractNumber); cmd.Parameters.Add("@NewId", SqlDbType.Int).Direction = ParameterDirection.Output; // Open connection and execute the stored procedure conn.Open(); cmd.ExecuteNonQuery(); // Retrieve the output parameter value int contractID = Convert.ToInt32(cmd.Parameters["@NewId"].Value); conn.Close(); }</code>
이 C# 코드는 데이터베이스에 연결하고 저장 프로시저를 실행하며 @NewId
출력 매개변수를 효율적으로 검색하여 contractID
변수에 저장합니다. 이제 새로 생성된 기본 키를 애플리케이션 내에서 추가 처리에 사용할 수 있습니다.
위 내용은 C#의 저장 프로시저에서 출력 매개 변수를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!