How to count records in a Query

From Axaptapedia

Jump to: navigation, search

Example Code

Query q;
    QueryRun qr;
    QueryBuildDataSource qbd;
    ;
    q = new Query();
    qbd = q.addDataSource(TableNum(CustTable));
    qr = new QueryRun(q);
    info(int2str(SysQuery::countTotal(qr)));

As seen you can use SysQuery object.

[edit] Runtime / Performance considerations

The call you are doing here works well if and only if you have exactly one datasource in the query. In the case you are starting to join up stuff here, things get complicated, as the implementation behind this call (specifically SysQuery::countPrim()) does actually loop over the entire resultset. It has to be taken with care therefore.

Personal tools