从lotus notes字段中提取值列表

时间:2009-03-11 05:34:12

标签: lotus-notes

我正在使用LN java API将Lotus Notes数据库迁移到SQL Server。遍历文档中的每个LN字段时,我发现所有表格信息都有字段名称,如fld,fld_1,fld_2等,其中fld表示列的名称,编号方案是处理每个单独的行。有没有一种使用LN java API将这些信息提取为数组的简单方法?

2 个答案:

答案 0 :(得分:1)

“简单”可能是一个含糊不清的术语。

如果你还没有解决这个问题。您可以编写一个循环并抓取每个字段的方法,如下所示:

import lotus.domino.*;
....
public static void main(String[] arg) {

    for(int i=1 ;i<MAX_FIELD;i++) {
        Item itm = doc.getFirstItem("field_"+String.valueOf(i));
        if (itm != null) {
            // if it's a multi-value field.
            Vector v = item.getValues();
            // do other stuff here with the values.
         };
    }
}

您需要确保在项目中导入相应的NotesJava API。

请记住,文档中的每个字段都是有效的,并且数组中包含一个或多个值。那些字段(“field_1”,“field_2”等)是由开发人员任意定义的。这是模拟表格式数据结构的常见做法。通常,字段表示列而不是行。但是,使用“item”对象以这种方式访问​​该字段应该可以访问数据。

答案 1 :(得分:0)

没有简单的方法,或者更具体地说,Lotus Notes无法帮助您完成任务。 Lotus Notes是一个“平面文件”数据库,每个文档都允许包含任意数量的项目(列)。

虽然Lotus Notes表单可能使用表格或布局区域以表格格式显示数据,但保存该数据的文档(记录)就像SQL表格的单行,并且没有办法进行逻辑分组例如,该文档的项目将所有fld_项目关联在一起。

我的建议是使用您认为方便的数据结构将项目中的数据导入SQL。这可能是一个数组或自定义对象,然后可以保存到数据库中。