首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过Java从数据库中检索记录

无法通过Java从数据库中检索记录
EN

Stack Overflow用户
提问于 2019-07-16 01:27:03
回答 2查看 96关注 0票数 0

我正在尝试通过Java获取Lotus-Domino nsf数据库中的行。我确实成功地获得了列名和列数,因为它们与我的ibm notes客户端上显示的相同。然而,每当我通过view.getAllEntries()获取ViewEntryCollection时,它似乎是空的。

我尝试了几种不同的选项,包括反射。

代码语言:javascript
复制
for (Object object : database.getViews()) {
    View view = (View) object;
    if (view.getName().equals("For Printing\\By Date")) {

        // this prints out "view.getEntryCount() = 1145"
        System.out.println("view.getEntryCount() = " + view.getEntryCount());

        // this prints out "view.getAllEntries().getFirstEntry() = null"
        System.out.println("view.getAllEntries().getFirstEntry() = " + 
                        view.getAllEntries().getFirstEntry());

        break;
    }
}

我希望定义第一个条目,因为它说它的条目计数是1145,但实际上它是null。这是权限问题吗?

EN

回答 2

Stack Overflow用户

发布于 2019-07-16 08:32:18

是的,这可能是一个权限问题,而且很可能是。getEntryCount不会检查您对基础条目的访问权限。它只返回索引器计算的条目数。

但是,如果运行代码的身份(您的用户id,如果是代理,则是代码签名者)对视图中的任何文档都没有读取权限(很可能是因为在文档中使用了ReaderName字段),那么getFirstEntry()将返回null。您需要确保代码在具有适当访问级别的用户的标识下运行。

票数 3
EN

Stack Overflow用户

发布于 2019-07-16 02:07:00

我认为输出中没有任何错误。view.getEntryCount()给出的是实际计数,而view.getAllEntries().getFirstEntry()表示第一个条目为空。这并不意味着那里没有条目,而是说第一个条目中的对象引用指向null。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57044557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档