C#에서 SQL Server 저장 프로시저의 반환 값에 액세스
이 문서에서는 C# 애플리케이션 내의 SQL Server 저장 프로시저에서 반환 값을 올바르게 검색하는 방법을 설명합니다. 적절한 매개변수 처리 없이 반환 값(예: 다음 시퀀스 번호)에 액세스하려고 하면 일반적인 문제가 발생합니다.
이 예에서는 usp_GetNewSeqVal
테이블의 시퀀스 값을 증가시키고 업데이트된 값을 반환하는 저장 프로시저 AllSequences
를 사용합니다. C# 코드는 데이터베이스에 연결하고 SqlCommand
.
반환 값을 검색하는 핵심은 ParameterDirection.ReturnValue
의 매개변수 컬렉션에 SqlCommand
이 포함된 매개변수를 추가하는 것입니다. 이 전용 매개변수는 저장 프로시저 출력의 컨테이너 역할을 합니다.
수정된 C# 코드 조각은 다음과 같습니다.
<code class="language-csharp">using (SqlCommand cmd = conn.CreateCommand()) { // ... other code ... // Add a parameter to receive the return value SqlParameter returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int); returnParameter.Direction = ParameterDirection.ReturnValue; // ... other code ... conn.Open(); cmd.ExecuteNonQuery(); int result = (int)returnParameter.Value; // Cast to appropriate type }</code>
ParameterDirection
을 ReturnValue
으로 설정하면 SqlParameter
이 저장 프로시저의 반환 값을 받는 대상으로 지정됩니다. ExecuteNonQuery()
다음에는 이 매개 변수의 Value
속성에 반환된 값이 포함되며, 이 값은 C# 애플리케이션에서 액세스하고 사용할 수 있습니다. Value
속성을 올바른 데이터 유형으로 변환하는 것을 잊지 마세요.
위 내용은 C#의 SQL Server 저장 프로시저에서 반환 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!