2012-06-07 4 views
0

이 오류가 발생합니다. 데이터를 읽을 수 없습니다. 데이터가 Null입니다. 이 메서드 나 속성은 Null 값에서 호출 할 수 없습니다.Infopath 2007 테이블 반복 반복

일부 필드에는 데이터베이스에 NULL 값이 있습니다. 나는 단지 그들을 처리하고 다음 행을 채우기를 원합니다. 여기에 몇 가지 코드는 다음과 같습니다

RDR은 SqlDataReader 개체

내가 저장 프로 시저와 함께이 문제를 해결할 수
if (rdr[EmailID] != null) 
{ 
    //this blows up on this line on the 32nd iteration of the loop when searching for an extended group. 
    EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue(rdr.GetString(EmailID)); 
} 
else 
{ 
    EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue("No.Email"); 
} 

,하지만 난 정말이 문제를 처리하는 방법을 알고 싶습니다. 위는 내가 시도한 많은 반복 중 하나입니다. 감사합니다. .

답변

0

나는 이것을 알아 냈다. IsDBNull이 처리해주는 것 같습니다. 디버그에서 코드를 실행하여 서수의 위치를 ​​확인했습니다. 이 경우 14 명이었습니다.

int EmailID = rdr.GetOrdinal("EmailID"); 

Then when using GetString: 

if (!(rdr.IsDBNull(14))) 
{ 
    EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue(rdr.GetString(EmailID)); 
} 
else 
{ 
    EmpNewData.SelectSingleNode("/my:myFields/my:Emp/my:EmpData/my:email", NamespaceManager).SetValue("No Email"); 
} 

이 정보가 도움이되기를 바랍니다.