0

我想使用 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");
}

雄猫结果

DfException:: 线程:http-8080-2;MSG: [DM_QUERY_E_SYNTAX]error: "A Parser Error (syntax error) has been occurred in the near: select count(*) as count"; 错误代码:100;下一个:空

4

2 回答 2

3

您正在使用countwhich 是您的列自定义名称的关键字,您发布的错误清楚地说明了这一点: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");

将工作

于 2016-09-30T18:13:22.113 回答
2

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

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

  while (total.next()){
    cint = total.getInt("count(*)");
  }
}
于 2016-09-30T23:44:25.683 回答