2017-07-26 48 views
1

我正試圖在我的數據庫中查找我的文件夾或視圖。其中名爲團隊文檔此文件夾有一些過濾器選項,如截止日期,按類別。但即使文件夾已經存在,這也會返回null。View.getView()返回null

String dbServer = "d23dbm95/23/A/IBM", dbFileName = "dbom\\farizan\\stsklb1.nsf"; 


public void runNotes() 
{ 
    Session session = null; 
    Database db = null; 
    View view = null; 
    Document doc = null; 

    try 
    { 
     NotesThread.sinitThread(); 
     session = NotesFactory.createSession(); 
     System.out.println("User = " + session.getUserName()); 
     db = session.getDatabase(dbServer, dbFileName); 

     if(db.isOpen()) 
     { 
      System.out.println("Title "+db.getTitle()); 

      view = db.getView("Team Documents \\ By Date"); 


      if(view == null) 
      { 
       System.out.println("still null"); 
      } 

     } 

    } 
    catch(NotesException e) 
    { 
     e.printStackTrace(); 
    } 
} 

我想也填補我getView()方法類似工作組文檔。但仍然返回null。任何解決這個問題的方法?

回答

3

雖然如果您包含指向Domino Designer客戶端文件夾列表屏幕截圖的鏈接會更有幫助,但我最好猜測的是您有兩個文件夾,而不是一個帶有「過濾器選項」的文件夾。另外,我的猜測是「團隊文檔」實際上不是一個文件夾;它只是文件夾名稱上的一個前綴,它們使出現嵌套在父文件夾中。反斜線後&之前不能有空格:

如果是這樣的話,你就需要

iew = db.getView("Team Documents\\By Category"); 

或者

iew = db.getView("Team Documents\\By Date"); 

注意。

如果我上面的假設不正確,那麼我的建議是將別名分配給Domino Designer中的文件夾,並在您的代碼中使用別名而不是顯示名稱。坦白說,這是總是一個很好的做法,因爲它允許您的代碼繼續工作,即使您決定更改顯示名稱。

+1

我想補充一點,你需要小心你的術語。文件夾不是視圖和視圖不是文件夾。 – Duston

+1

真的!但從Notes類的角度來看,它們看起來是一樣的。 –

+0

@RichardSchwartz你做到了! :)我會試着爲我的文件夾添加一個別名,以便仍然得到正確的文件夾。讚賞你的幫助! – Francisunoxx