1

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);

それは設定の一部だと思いますが、何が見つかりません。

何か案が?ありがとう

4

0 に答える 0