我是莲花新手。我需要使用 Java 从 Lotus 数据库获取一些信息。我有数据库:
Session session = NotesFactory.createSession(host, user, pwd);
Database database = session.getDatabase(server, database);
我有该信息:
field - fldContractorCode;
form - form="formAgreement";
例如字段是“abcde”; 那么我如何从该数据库中获取信息呢?我需要使用座椅公式吗?或者我需要使用什么方法?感谢您的帮助。
UPD
现在我正在使用这样的方式:
DocumentCollection collection = DATABASE.search("form=\"formAgreement\"");
Document doc = collection.getFirstDocument();
while(doc != null) {
doc.getItemValueString("fldContractorCode");
doc = collection.getNextDocument();
}
它对我来说效果很好,但我认为这种方式不太舒服,因为要找到一些文档,例如带有 field="abcd"的文档,我每次都需要迭代集合... 这就是为什么我要求某种方法通过字段值查找文档。而且我不明白数据库中的 VIEW 是什么以及从哪里获取这个 VIEW 名称。
最佳答案
在现有代码中,您只需更改一行即可:
DocumentCollection collection = DATABASE.search("form=\"formAgreement\ & "fldContractorCode=\"abcd\"");
但是,如果数据库包含许多文档,这会很慢。为了获得最佳性能,您应该考虑使用 Domino Designer 向数据库添加新 View ,并使用其他答案中建议的 getDocumentByKey()
方法。如果这不是一个选项,Simon 建议使用 FTSearch()
方法比 Search()
方法更快,但前提是数据库存在全文索引。它的搜索字符串语法也略有不同。
关于java - Lotus从数据库获取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497368/