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