2009-11-25 1 views
0

nsf 파일의 각 메일 값에서 액세스합니다. 으로 :메일 항목 NotesDocument에 null 값 가져 오기 : C#

NotesView sent = _NotesDatabase.GetView("($Sent)");     

if (sent != null) 

{          

    NotesDocument docSent = sent.GetFirstDocument(); 

    if (docSent != null) 

    {      

     while (docSent != null) 

     { 

     String Subject = ((object[]) DocSent.GetItemValue("Subject"))[0] as String; 

     Message.Show(Subject); 

     docSent = sent.GetNextDocument(docSent);  

     }//while 

    } 


} 

하지만 난이 "널 (null)"값을 얻고있는 일부 메일이 있습니다 (이것은이의 SendTo을 포함, 주제 e.t.c 값 : 연꽃 노트에서 볼 때).

그래서 주제에 액세스 할 수 없습니다. 왜 그런 일이 발생하고 있습니까? 양식 값이 "메모"입니다.

+0

코드 예제를 각 행에 4 개의 공백으로 들여 쓰기하면 읽는 것이 더 쉬워집니다. –

+0

나는 위의 코드에서 "(object [] DocSent")가 아니라 "(object []) docSent"를 의미한다고 가정합니다 - (소문자 "D") - 정확합니까? –

답변

0

GetItemValue에서 null 값을 얻으면이 필드가 문서에없는 것일 수 있습니다. NotesDocument 클래스의 HasItem 메서드를 사용하여이 조건을 확인할 수 있습니다.

if (docSent.hasItem("Subject")) { 
    ... 
} 
+0

나는이 코드를 시도했다. 그러나 docSent가 null이기 때문에 우리는 그것에 어떤 조작도 수행 할 수 없다. 그것은 "Object referece null"예외를 보여준다. – Preeti

+0

docSent가 null 인 경우 이는 뷰의 끝에 도달했음을 의미합니다. . 서를 뷰에서 제외 시키거나 뷰에서 위!를 변경하는. 서를 변경하면 getNextDocument 메소드가 널 (null)을 조기에 리턴 할 수 있습니다. 위의 코드는이 작업을 수행하지 않는 것 같습니다. –