我有一个带有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()
仅适用于同一连接。
我该如何解决?