Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DataSnap abgerufenes DataSet RecordCount gibt exception aus (https://www.delphipraxis.net/185860-datasnap-abgerufenes-dataset-recordcount-gibt-exception-aus.html)

Kostas 12. Jul 2015 19:33

Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDac

DataSnap abgerufenes DataSet RecordCount gibt exception aus
 
Hallo Zusammen,


ich rufe eine DataSet vom Server ab und importiere die Daten in die DB über CopyDataSet.
Das funktioniert auch einwandfrei. Da ich mehrere Tabellen habe und ich den User den Verlauf
zeigen möchte, wollte ich nach dem Download LDataSet.RecordCount abfragen. Doch da bekomme ich eine Fehlermeldung

Code:
"Im Projekt ist eine Exception der Klasse EDatabaseError mit der Meldung 'Fehlende Abfrage, Tabelle- oder Procedurename' aufgetreten."
Naja dachte ich, ist mir egal, dann durchlaufe ich eben das DataSet da es eh nicht viele Datensätze sind
und zähle sie einfach in einer while Schleife. Doch danach wird nichts mehr importiert, auch nicht wenn ich
Code:
LDataSet.First;
ausführe. Close-Open des LDataSets brings auch nichts.

Hat jemand eine Idee?





Delphi-Quellcode:
function TdmDALClient.StammdatenDownloadTable(
  StammdatenTable: TStammdatenTablesEnum; AbTransferID: integer): Boolean;
var LDataSet: TDataSet;
    TableName:string;
    DataSetRecordCount:integer;
begin
  result := False;

  TableName := GetEnumName(TypeInfo(TStammdatenTablesEnum), Ord(StammdatenTable));


  LDataSet := dmClientContainer.FProxyInst.StammdatenDownloadTable(Ord(StammdatenTable), StammdatenAllTransferID);
  if Assigned(LDataSet) then
  begin

    if qrStammDatenImport.Active then qrStammDatenImport.Close;

    qrStammDatenImport.MacroByName('TableNamen').AsRaw := TableName;
    qrStammDatenImport.open;
    qrStammDatenImport.FetchAll;

// -------- Kein Import möglich --------
//    DataSetRecordCount := 0;
//    LDataSet.First;
//    while not LDataSet.eof do
//    begin
//      inc(DataSetRecordCount);
//      LDataSet.next;
//    end;

    LDataSet.First;

    if Assigned(OnDALClientProgressEvent)
    then OnDALClientProgressEvent(Self, TableName, LDataSet.RecordCount, 'Stammdaten-Import'); //<<< Fehlermeldung bei LDataSet.RecordCount
//    then OnDALClientProgressEvent(Self, TableName, DataSetRecordCount, 'Stammdaten-Import');

    qrStammDatenImport.CopyDataSet(LDataSet, [coRestart, coAppend, coEdit]);
    result := True;
  end;

end;
Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz