2011-01-20 3 views
3

SqlCommand Type == StoredProcedure를 사용하여 sp 호출에 대한 간단한 래퍼를 작성합니다. 그 이름을 지정하지 않고 매개 변수를 전달하기 만하면됩니다. 내가 어떻게 해? cmd.Parameters.Add (param)가 작동하지 않고 SqlParameter 인스턴스 만 가져옵니다. 답장을 보내 주셔서 감사합니다.이름없는 매개 변수를 SqlCommand (ADO.NET)를 통해 저장 프로 시저에 전달할 수있는 방법이 있습니까?

답변

3

SqlCommandBuilder.DeriveParameters을 사용하여 매개 변수 수집을 채우는 것은 어떨까요?

사용법 : 당신은 분명히 다음 각 매개 변수의 값을 채울 필요가

// Create Command 
SqlCommand command = connection.CreateCommand(); 
command.CommandType = CommandType.StoredProcedure; 
command.CommandText = storedProcedureName; 

// Open Connection 
connection.Open(); 

// Discover Parameters for Stored Procedure and populate command.Parameters Collection. 
// Causes Rountrip to Database. 
SqlCommandBuilder.DeriveParameters(command); 

.

+0

대단히 감사합니다. – idm

0

AFAIK, ParameterName없이 매개 변수를 전달할 수 없습니다.

 Database db = DatabaseFactory.CreateDatabase("DatabaseName"); 
     DbCommand cmd = new SqlCommand("SP Name Here"); 
     cmd.CommandType = CommandType.StoredProcedure; 
     db.DiscoverParameters(cmd); 

지금 당신의 명령 객체가 모든 매개 변수 정보가 포함됩니다 : 당신은 엔터프라이즈 라이브러리 데이터 액세스 응용 프로그램 블록을 사용하는 경우, 당신은 이런 식으로 뭔가를 할 수 있습니다.

관련 문제