3

我正在尝试从 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]。

搜索的参数就是我这里需要的。即我应该放什么而不是“[Date]>[2012/03/20]”

我用 Calendar 和 DateFormat 尝试了各种结构,但它没有结合在一起......

有什么建议么?

4

2 回答 2

5

您应该去掉字段名称上的方括号。搜索方法需要一个注释公式,就像您放入视图选择公式中的内容一样:

"Date > [03/20/2012]"

可能还需要日期为 mm/dd/yyyy 格式,但如果您在非美国地区,我不能 100% 确定。

于 2012-06-01T01:32:04.357 回答
3

您提到您一直在数据库中进行全文搜索,因此绝对值得一提...如果数据库确实有全文索引,那么您可能要考虑使用 NotesDatabase.FTSearch() 方法而不是NotesDatabase.Search()。对于大型数据库,FTSearch 方法会快得多。

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

于 2012-06-01T02:31:12.060 回答