Delphi Datasnap服务器MySQL找到\u行()返回1

Delphi Datasnap服务器MySQL找到\u行()返回1,mysql,delphi,datasnap,Mysql,Delphi,Datasnap,我有一个Delphi XE8 Datasnap服务器,其GetProduct方法在TFDjsonDataSet中返回两个TFDQuery FDQueryResult.SQL.Text是: FDQueryFoundRows.SQL.Text是: 问题 FDQueryFoundRows始终返回1,但MySQL Workbrench上的同一查询返回正确的数字 我认为FDQueryResult在执行后关闭连接,FDQueryFoundRows重新打开它,但发现_行仅在同一个连接上工作 我如何修复它?您是

我有一个Delphi XE8 Datasnap服务器,其GetProduct方法在TFDjsonDataSet中返回两个TFDQuery

FDQueryResult.SQL.Text是:

FDQueryFoundRows.SQL.Text是:

问题

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

我认为FDQueryResult在执行后关闭连接,FDQueryFoundRows重新打开它,但发现_行仅在同一个连接上工作


我如何修复它?

您是否在同一个FDTransaction中使用命令?@jean jung我不知道。。。怎么看?请看主题QT:对不起,输入错误,主题Q7I发现了问题!这里的解决方案
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;
SELECT SQL_CALC_FOUND_ROWS * FROM products LIMIT 0,100
SELECT FOUND_ROWS() AS FoundRows