【问题标题】:How do you access the value of a DQL count() query in Java Program如何在 Java 程序中访问 DQL count() 查询的值
【发布时间】:2017-02-09 08:18:27
【问题描述】:

我想使用 DQL 的 COUNT 命令获取我找到的值。通常我在 getInt() getString() 方法中输入我想要访问的列名。当没有特定的列名时我应该做什么。

{
    String query = "select count(*) as count from dm_user;";
    return query;           
}

获取结果的代码

{
    IDfCollection total = dql.execute(session, IDfQuery.DF_READ_QUERY);

    while (total.next()){
        cint = total.getInt("count");
}

Tomcat 结果

DfException:: 线程:http-8080-2; MSG:[DM_QUERY_E_SYNTAX]错误:“在附近发生了解析器错误(语法错误):选择计数(*)作为计数”;错误代码:100;下一条:空

【问题讨论】:

    标签: java documentum documentum6.5 dfc


    【解决方案1】:

    虽然@Miki 已经回答了这个问题,但我想在这里添加一件小事,如果你没有指定任何别名,下面的代码也应该可以工作。

    {
      IDfCollection total = dql.execute(session, IDfQuery.DF_READ_QUERY);
    
      while (total.next()){
        cint = total.getInt("count(*)");
      }
    }
    

    【讨论】:

    • 我也尝试过你的方法,它也有效!谢谢你桑吉夫!
    【解决方案2】:

    您正在使用count 这是您的列自定义名称的关键字,您发布的错误清楚地说明了这一点:A Parser Error (syntax error)

    这样就可以了

    select count(*) as quantity from dm_user;
    

    并获取类似的结果

    IDfCollection total = dql.execute(session, IDfQuery.DF_READ_QUERY);
    
        while (total.next()){
            cint = total.getInt("quantity");
    

    会起作用

    【讨论】:

    • 您可以将答案标记为已接受(似乎您的其他问题也不这样做)
    猜你喜欢
    • 2011-02-15
    • 2020-04-09
    • 2014-05-24
    • 2019-01-04
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    相关资源
    最近更新 更多