iBatis.NET을 사용하여 저장 프로 시저의 반환 값을 검색하는 방법은 무엇입니까? 아래의 코드는 성공적으로iBatis.NET을 사용하여 저장 프로 시저의 반환 값 가져 오기
<procedure id="MyProc" parameterMap="MyProcParameters" resultClass="int">
MyProc
</procedure>
<parameterMap id="MyProcParameters">
<parameter property="num"/>
</parameterMap>
C# 코드
하는 SQLMaps 저장 프로 시저를 호출하지만의 queryForObject <INT> 호출이 반환 0절차
저장public int RunMyProc(string num)
{
return QueryForObject <int> ("MyProc", new Hashtable { { "num", num } });
}
create procedure MyProc @num nvarchar(512) as begin return convert(int, @num) end
참고로, 나는 기능과 같은 반환 값이없는 iBatis를 1.6.1.0, .NET 3.5 및 SQL Server 2008
저장 프로 시저는 SQL Server에서 값을 반환 할 수 있습니다. – MikeWyatt
네, 맞습니다. 그 기능을 사용해야한다면 (스토어드 프로 시저 인 경우 호출자가 리턴 값을 보지 않는다고 가정 할 때) 확실하지 않습니다. – shahkalpesh
다른 사람이 호출 한 코드를 작성할 때마다 올바르게 사용할 수 없습니다. 사용 가능한 모든 기능을 사용하지 않아도됩니다. 0 = ok, <0은 사소한 오류 (유효성 검사 등),> 0은 치명적인 오류 (제약 조건 등)입니다.이 질문의 코드의 경우, 출력 매개 변수가 가장 좋으므로 문자열이 숫자가 아닌 경우 오류 코드가 반환 될 수 있습니다. 리턴 값은 널이 아닌 정수 여야합니다. 출력 매개 변수는 거의 모든 데이터 유형이 될 수 있습니다. –