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]。

検索のパラメーターは、ここで必要なものです。つまり、「[日付]>[2012/03/20]」の代わりに何を入力すればよいですか?

Calendar と DateFormat でいろいろ構築してみましたが、まとまりません...

助言がありますか?

4

2 に答える 2

5

フィールド名の角括弧を取り除く必要があります。検索メソッドは、ビュー選択式に入力するものと同様に、Notes 式を想定しています。

"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 に答える