2013-03-22 6 views
-3

나는 봄 .net 응용 프로그램을 개발 중입니다.예상 1 실제 0

내가 필드가있는 로그인 페이지가 -은 loginid 비밀번호에

로그인을-이 너무 로그인 후 내가 후보가 이미 양식을 작성 한 경우 그 값에서 페치 확인 후보 에 의해 작성되는 형태입니다 데이터베이스 및 양식 필드에 표시됩니다. 지금 응시자가 데이터베이스 널 행을 채우지 않아서 위의 오류가 발생합니다 ..이 오류를 해결하는 방법을 알려주십시오.

나는 obj가 null이지만이 OBJ의 확인하기 위해 다음 라인으로 이동하지 않는 경우 확인하는 시도는 바로 IT가를 Page_Load 기능의 LINE 6 오류를 부여 위에서 언급 한 예외

을 던졌습니다 NULL입니다 예외 : EmptyResultDataAccessException은 내가 Spring.NET 함께 일한 적이, 내가 위에서 말했듯이 잘못된 ResultSize 선택 1 실제 0

+1

오류 수정을 위해 수행 한 작업을 아직 말씀하지 않았습니다. 어떤 예외가 throw되는지, 무엇이 오류 메시지인지, 어떤 행이 예외를 throw합니까? –

+1

이러한 객체가 Spring.Net의 일부인 경우, 쿼리가 행을 반환하지 않을 때 수행 할 작업의 예가 있는지 설명서를 살펴 보겠습니다. 거기에없는 경우 (그리고 Spring.Net과 같은 프레임 워크가 그 케이스를 처리하기에 충분히 성숙 할 것이라는 확신이 들었다면), 간단히 말하면, 오버라이드 된 메소드에서 try-catch 블록으로 호출을 래핑 할 것입니다. DB 호출에서 문제가있는 것처럼 들리므로 결과를 반환합니다. – Tim

+0

적절한 검증을 수행하지 않았습니까? – Freelancer

답변

1

을 예상 잡았지만, 문서에서 살펴 본다 난 당신이 잘못된 방법을 사용 할 수있다 생각했다 AdoTemplate 클래스입니다. QueryForObject은 문서별로 '결과 집합을 IRowMapper를 사용하여 개체에 매핑하는 쿼리를 실행합니다. 쿼리가 정확히 하나의 객체를 반환하지 않으면 예외가 발생합니다. '

예를 들어, 사용자가 등록되지 않은 경우 데이터베이스에 없으므로 0 개의 결과가 반환됩니다. 따라서 오류 Incorrect Resultsize Expected 1 Actual 0. Mapping result sets to objects에 대한 방법의

은 (문서 당, 다시) 한, QueryWithRowMapper 방법을 사용해보십시오 하나

return (CandidateSession)template.QueryWithRowMapper(CommandType.StoredProcedure, "spGetCandidateSession", candidateMapper, parameters); 

CandidateSession에 캐스트가 실패하지 않는 경우에, 나는에 null 객체를 기대 반환됩니다.

다시 한번, 저는 Spring.NET에서 일한 적이 없기 때문에 이것은 문서를 꽤 많이 읽었습니다. 바라건대 그것은 적어도 당신이 올바른 길로 내려갈 수 있기를 바랍니다.