代码之家  ›  专栏  ›  技术社区  ›  Patrick Kwinten

getAllEntriesByKey导致错误:矢量中的对象类型未知或不受支持

  •  1
  • Patrick Kwinten  · 技术社区  · 7 年前

    lotus.domino.local.View第2行出错:NotesException:未知或 矢量中不支持的对象类型

    View vw = db.getView(viewName);
    if(null != vw){ 
    ViewEntryCollection vec
    -> vec = vw.getAllEntriesByKey(key);
    }
    

    这里的键是一个提供的字符串。

    3 回复  |  直到 7 年前
        1
  •  3
  •   Detlef Birkholz    7 年前

    你检查过你的变量了吗 key 不为空?如果提供的键参数为null,则会收到此错误消息。

        2
  •  2
  •   Paul Stephen Withers    7 年前

    你传递的是字符串,不是向量。您需要创建一个向量,然后将字符串作为第一个元素添加到其中,与SSJS中的相同。

    Vector vec = new Vector();
    vec.add(key)
    vw.getAllEntriesByKey(vec);
    

    getAllEntriesByKey(Object key) ,所以我们的抽象层为您完成了所有这些。另外,一旦得到结果,就可以使用标准Java循环来处理循环( for (ViewEntry ent : vec) {....} )

        3
  •  0
  •   geco17    7 年前

    有两件事要考虑。首先是你的语法。代码应如下所示

    View vw = db.getView(viewName);
    if(null != vw){ 
        ViewEntryCollection vec = vw.getAllEntriesByKey(key);
        // do something with the vec
    }
    

    第二个是异常消息:

    矢量中未知或不支持的对象类型。

    文件 here key

    public ViewEntryCollection getAllEntriesByKey(Object key) throws NotesException
    

    推荐文章