如何在 Java 程序中访问 DQL count() 查询的值

How do you access the value of a DQL count() query in Java Program

我想使用 DQL.Normally 的 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:: THREAD: http-8080-2; MSG: [DM_QUERY_E_SYNTAX]error: "A Parser Error (syntax error) has occurred in the vicinity of: select count(*) as count"; ERRORCODE: 100; NEXT: null

您正在使用 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");

会工作

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

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

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