오늘 친구가 데이터 액세스 응용 프로그램 블록에서 저장 프로시저의 반환 값을 가져오는 방법을 물었습니다. 이전에 작성한 기사에서 이 문제가 언급되지 않은 것을 발견했습니다. 이제 구체적인 해결책은 다음과 같습니다. 1.
먼저 반환 값이 있는 저장 프로시저를 생성합니다. 예를 들어 다음과 같이 저장 프로시저를 생성하겠습니다.
프로세스 테스트 생성
(
@id 정수
)
@flag int
로
선언하고@@rowcount > 0인 경우
id=@id 인 사람에게서 *를 선택합니다.
@flag=1로 설정
또 다른
@flag=0 설정
@flag 반환
프로그램에서 이 반환 값을 얻기 위해 사용하는 방법은 다음과 같습니다
.
공공 무효 TestReturnValue()
{
데이터베이스 db = DatabaseFactory.CreateDatabase();
DbCommand dbcomm = db.GetStoredProcCommand("test");
db.AddInParameter(dbcomm, "@id", DbType.Int32,1);
//여기에 키가 있습니다. ReturnValue 유형의 매개변수를 추가하세요.
db.AddParameter(dbcomm, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null);
db.ExecuteNonQuery(dbcomm);
int testvalue = (int)dbcomm.Parameters["@RETURN_VALUE"].Value
Assert.AreEqual(testvalue, 1);
}
위의 코드를 통해 프로그램에서 저장 프로시저의 반환 값을 얻을 수 있습니다.
이전에 쓴 글에서 언급하지 못한 내용이 많을 수 있으니, 더 많은 친구들이 의견을 제시해 주셨으면 좋겠습니다.