java - Lotus从数据库获取字段

标签 java lotus-domino

我是莲花新手。我需要使用 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/

相关文章:

java - 将数组中的每个数字乘以 n - java

java - 如何使用 3 个数组的数据实现二叉树的中序、前序和后序遍历

java - java赋值中的魔数(Magic Number)问题

Java 图形不显示

java - 我应该将 EL 2.2 与 Java EE 5/Tomcat 6.0.29 一起使用吗?服务器或应用程序升级?

java - 如何从 Lotus Notes Java 代理检查浏览器版本/名称?

lotus-notes - @command([ToolsRefreshAllDocs]) 在 Lotus Notes 中不起作用

lotus-notes - 将 Lotus Domino 从 8.5.2 升级到 8.5.3,自定义模板损坏

java - com.ibm.jsse2.util 未找到可信证书

lotus-notes - 使用 EmbeddedObject 从 lotus notes api 中提取附件,在系统文件夹中创建 eo*tm 文件