DataSnap/REST サーバーとクライアント アプリケーションがあります。
サーバーには、いくつかのレコードを含む 1 つ以上のデータセットを返すメソッドがありますが、このレコード数が 50 を超えると、クライアント アプリケーションは最初の 50 レコードを受信しません。
サーバー アプリケーションをデバッグしたところ、SQL ステートメントは正しいものでした (IBExpert から実行したところ、正しいレコード数が返されました)。
XE7、FireDAC、および Firebird を使用しました。
サーバーアプリケーションには、データセットを返すこのメソッドがあります
procedure TSvrMethodsMdl.AddTable(SQL, TabName: string; JSON: TFDJSONDataSets);
var
Q: TFDQuery;
begin
Q := TFDQuery.Create(nil);
try
Q.Connection := conTPV;
Q.Transaction := conTPV.Transaction;
Q.SQL.Text := SQL;
TFDJSONDataSetsWriter.ListAdd(JSON, TabName, Q);
finally
// FreeAndNil(Q);
end;
end;
レコードを受信するために、クライアントアプリケーションに、私はこのコードを持っています
var
LDataSetList: TFDJSONDataSets;
LDataSet: TFDDataSet;
tTemp: TFDMemTable;
begin
....
// get remote data
LDataSetList := CliConnectMdl.SvrMethodsMdlClient.GetDataChanged(Shop, ResError);
// process data
LDataSet := TFDJSONDataSetsReader.GetListValueByName(LDataSetList, MyTabName);
tTemp.AppendData(LDataSet);
それは設定の一部だと思いますが、何が見つかりません。
何か案が?ありがとう