2013-07-15 4 views
-7

6 개의 매개 변수를 사용하는 단순 저장 프로 시저가 있습니다. 그들이 @a, @b, @c, @d, @e, @f이고 모두 기본값이 null 인 선택형이라고 가정합니다.OleDbCommand에서 명명 된 매개 변수를 생략하십시오.

과 함께 저장 프로 시저를 호출하는 방법을 알고 싶습니다. 일부 매개 변수는입니다. 일반적인 단계는 다음과 같습니다.

  1. 연결을 정의한 다음 엽니 다.

  2. 이 명령 개체에 매개 변수를 추가 명령 개체를 정의합니다.

  3. 명령을 실행하십시오.

는 지금 @a, @b, @c, @d, @e, @f 각각 그 매개 변수를 추가 Parameters.Add()를 사용합니다.

질문 : 그냥 @a@f으로 저장 프로 시저를 호출하려면 다른 매개 변수도 Add() 필요합니까? 또는 단지 2 개의 매개 변수를 추가하면 저장 프로 시저에서 제공 한 매개 변수를 어떻게 알 수 있습니까?

+3

_에서 이름대로 당신이 당신의 매개 변수의 이름이다 쓰기? – CodeCaster

+0

@CodeCaster 질문을하는 모든 사람이 무제한의 시간을 보냈다고 가정하지 마십시오. 나는 수십 가지 원인이있을 수있는 프로덕션 환경의 복잡한 버그를 디버깅하고 있습니다. 내 편에서 테스트를 설정하고 각 시나리오를 테스트 할 시간이 없습니다. –

+11

_ "내 편에 테스트를 설정하고 각 시나리오를 테스트 할 시간이 없습니다."_ 기술적으로 디버깅을 아웃소싱하고 있습니다. 똑똑한. – CodeCaster

답변

6

질문 : 난 그냥 @a와 @f로 저장 프로 시저를 호출 할 경우는 어떻게,

만큼 다른 옵션 SP가 오류없이 실행됩니다만큼.

이 경우 다른 매개 변수도 (b, c, d, e)를 추가해야합니까?

아니요.

단지 2 개의 매개 변수를 추가하면 저장 프로 시저가 순서를 어떻게 알 수 있습니까?

여기에서의 순서는 중요하지 않습니다. 매개 변수 이름은입니다. SP 선언문과 일치해야합니다.

+0

좋아, 그래서 그냥 @a와 @d를 추가하면됩니다. 저장 프로 시저가이 2 개를 통과 한 것을 어떻게 알 수 있습니까? .NET에 전달 된 실제 매개 변수 이름을 조사하여 자체 매개 변수 이름과 일치시킵니다. 예를 들어 "@a"를 @a로? –

+0

예, 정확히 작동하는 방식입니다. – MarcinJuraszek

+3

@Joe [documentation] (http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx)에서 _ _ "SQL Server 저장 프로 시저를 실행하기 위해 SqlCommand와 함께 매개 변수를 사용할 때 Parameters 컬렉션에 추가 된 매개 변수는 저장 프로 시저의 매개 변수 마커 이름과 일치해야합니다. "_ – CodeCaster

0

모든 매개 변수는 선택 사항 (null 허용)이라고했기 때문에; 매개 변수없이 SP를 호출하더라도 잘 실행되어야합니다.

0

proc에서 nullable로 매개 변수를 정의하면 실행하여 문제가 발생하지 않습니다. 그것을 시도 - 기타로

은 중요한 부분은 그들이 절차 "난 그냥 @a와 @f로 저장 프로 시저를 호출 할 경우 어떻게"_

관련 문제