2012-03-27 5 views
0
SqlParameter[] par1 = new SqlParameter[4]; 

par1[0] = new SqlParameter("@prefix", "TIN-CMP-"); 
par1[1] = new SqlParameter("@codeLength", "17"); 
par1[2] = new SqlParameter("@LastCode", ""); 
par1[3] = new SqlParameter("@retVal", SqlDbType.VarChar, 20); 
par1[3].Direction = ParameterDirection.Output; 
var data = SqlHelper.ExecuteNonQuery(this.ConnectionString, "Proc_GenerateID", par1); 

null을 반환하지만저장 프로 시저 출력 매개 변수는 예외를 throw하지 않습니다

답변

1

SqlHelper.ExecuteQuery이 SPROC를 실행 한 후 출력 매개 변수 값을 읽고 있는지 확인 SSMS에서 null 값, 잘 작동하더라도 절차를 반환합니다.

yourCommand.ExecuteNonQuery(); 
string retVal = yourCommand.Parameters["@retVal"].Value; 
+0

네, 디버그시에 그 값을 확인했다,하지만이 보여주는 널 –

+0

당신이 SQL은 SQL 프로파일 러를 통해 실행 한 다음 수동으로 만 모든 것이 같다 검증하기 위해, SSMS에서 그 실행되고 있는지 확인하실 수 있습니다 당신은 기대할 것입니다. 모두 정상이면 SqlHelper.ExecuteNonQuery/sproc 정의에 더 많은 코드가 필요합니다. – AdaTheDev

관련 문제