Delphi Datasnap Server MySQL FOUND_ROWS()返回1

时间:2015-09-30 18:29:04

标签: mysql delphi datasnap

我有一个带有GetProduct方法的Delphi XE8 Datasnap服务器,在TFDQuery

中返回两个TFDJSONDataSets
function TServerMethods1.GetProduct: TFDJSONDataSets;
begin
  // Clear active so that query will reexecute.
  FDQueryResult.Active    := False;
  FDQueryFoundRows.Active := False;

  Result := TFDJSONDataSets.Create;

  TFDJSONDataSetsWriter.ListAdd(Result, 'result',    FDQueryResult); 
  TFDJSONDataSetsWriter.ListAdd(Result, 'foundRows', FDQueryFoundRows);
end;

FDQueryResult.SQL.Text是:

SELECT SQL_CALC_FOUND_ROWS * FROM products LIMIT 0,100

FDQueryFoundRows.SQL.Text是:

SELECT FOUND_ROWS() AS FoundRows

问题

FDQueryFoundRows始终返回1,但MySQL Workbrench上的相同查询返回正确的数字。

我认为FDQueryResult执行后关闭连接并FDQueryFoundRows重新打开它,但FOUND_ROWS()仅适用于同一连接。

我该如何解决?

0 个答案:

没有答案