AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Dataset ADOQuery in ein Clientdataset kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dataset ADOQuery in ein Clientdataset kopieren

Ein Thema von SusiT · begonnen am 6. Okt 2023 · letzter Beitrag vom 11. Okt 2023
 
SusiT

Registriert seit: 15. Mai 2014
40 Beiträge
 
#4

AW: Dataset ADOQuery in ein Clientdataset kopieren

  Alt 6. Okt 2023, 21:00
Nach ewigen probieren bin ich zu einer Variante gelangt die anscheinend funktioniert. Es ist mir allerdings ein totales Rätsel warum das so ist.
Delphi-Quellcode:
procedure TDataModule1.CopyDataSetToCDS(Source: TDataSet; var Dest: TClientDataSet; CloseSource: boolean);
var dsProvider: TDataSetProvider;
  I: Integer;
  a: Boolean;
begin
{GetText in der Source funktioniert nicht}
{Filter in der Source funktioniert}
dsProvider:=TDataSetProvider.Create(self);
try
 dsProvider.DataSet:=Source;

 a := Dest.Data = dsProvider.Data;

 Dest.SetProvider(dsProvider);
 Dest.Open;

finally FreeAndNil(dsProvider); end;
if CloseSource then Source.Close;
end;
end.
Wenn exakt an der Stelle oben im Code

 a := Dest.Data = dsProvider.Data; eingefügt wird, dann erhalte ich auch wie erwartet an folgender Stelle den Wert 17

a := cds1.RecordCount; Allerdings, die zugefügte Codezeile ergibt keinen Sinn.
Dest.Data ist an der Stelle immer null, a wird immer False.
trotzdem passiert irgendwas, dass dazu führt, dass im cds aufeinmal alle Daten drin sind.

Ich könnte auch

Delphi-Quellcode:
 if Dest.Data = dsProvider.Data then
 begin
 end;
ergänzen, das hat den selben positiven Effekt.

Ein Timingproblem scheint es nicht zu sein. Ich habe an der Stelle das Programm durch eine Schleife im Ablauf verzögert. Das hat nichts gebracht.

Tja, da weiß ich nicht weiter. Vermutlich fehlt irgendein Schritt mit dem Dest oder dem Provider, der durch die eingefügte Zeile im Hintergrund ausgelöst wird.

Viele Grüße und gute Nacht
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz