簡體   English   中英

lotus notes用Java api按日期搜索

[英]lotus notes search by date with Java api

我正在嘗試從Lotus Notes數據庫中按日期選擇記錄,並且在正確格式化日期時遇到了麻煩。

這是相關的代碼:

public void runNotes()  {
    Session s;
    try {
        s = NotesFactory.createSession((String)null, (String)null, "mypassword");
        Database hkDB = 
            s.getDatabase("NBHDH001/YNM", "H\\DHH00001.nsf", false);
        DocumentCollection docs = hkDB.search("[Date]>[2012/03/20]");

日期是記錄中的一個字段,當我查找記錄(使用FTSearch)時,日期以上述格式返回:[yyyy / mm / dd]。

搜索的參數是我在這里需要的。 即我應該放什么,而不是“[日期]> [2012/03/20]”

我嘗試使用Calendar和DateFormat進行各種構造,但它並沒有結合在一起......

有什么建議?

您應該刪除字段名稱上的方括號。 搜索方法需要一個Notes公式,就像您放入視圖選擇公式中一樣:

"Date > [03/20/2012]"

可能還需要日期為mm / dd / yyyy格式,但如果您在非美國語言環境中,我不是100%肯定。

你提到你一直在數據庫中進行全文搜索,所以絕對值得一提......如果數據庫實際上有一個全文索引,那么你可能要考慮使用NotesDatabase.FTSearch()方法而不是NotesDatabase.Search()。 對於大型數據庫,FTSearch方法會快得多。

FTSearch的語法與Search的語法不同。 您可以使用“FIELD Date> 03/20/2012”或“[Date]> 03/20/2012”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM