AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TDataSet kopieren/klonen

Ein Thema von trashcandesign · begonnen am 20. Jul 2006 · letzter Beitrag vom 20. Jul 2006
Antwort Antwort
trashcandesign

Registriert seit: 21. Feb 2006
Ort: Mühlhausen
187 Beiträge
 
Delphi XE2 Professional
 
#1

TDataSet kopieren/klonen

  Alt 20. Jul 2006, 11:10
Hi,

ich habe ein DBGrid, in dem die Daten eines DataSet angezeigt werden. Nun muss ich in diesem DataSet per Schleife die einzelnen Datensätze durchgehen um ein paar Werte auszulesen.
Das ganze mache ich über:

Delphi-Quellcode:
while not DataSet.Eof do
begin
   [...]
DataSet.Next;
end;
Wenn ich das aber mache zeigt mir auch das DBGrid an, dass sich der Datensatzzeiger verändert, da ich die Schleife ein paar mal durchgehen muss sehe ich es in meinem Grid erst mal rattern, bis er fertig ist *g*

Um zu verhindern, dass die Datensatzzeigerbewegung in dem Grid angezeigt wird wollte ich das DataSet einfach in ein zweites kopieren und dieses dann in den Schleifen durchgehen.

Wenn ich aber sowas mach:

Delphi-Quellcode:
[...]
var
  MyDataSet : TDataSet;
begin
  MyDataSet := DataSet;
[...]
Scheint er nur eine Referenz (?!?) zu übergeben, da der Zeiger im ersten DataSet trotzdem bewegt wird.
Wie kann ich aber eine echte/eigenständige Kopie des DataSet erzeugen?

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt ^^

Gruß
trashcandesign
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#2

Re: TDataSet kopieren/klonen

  Alt 20. Jul 2006, 11:12
Einfacher wäre die Verwendung von .DisableControls und .EnableControls...
Robert Wachtel
  Mit Zitat antworten Zitat
trashcandesign

Registriert seit: 21. Feb 2006
Ort: Mühlhausen
187 Beiträge
 
Delphi XE2 Professional
 
#3

Re: TDataSet kopieren/klonen

  Alt 20. Jul 2006, 11:59
Hat funktioniert, vielen Dank
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TDataSet kopieren/klonen

  Alt 20. Jul 2006, 12:05
Was hast du vor?
Markus Kinzler
  Mit Zitat antworten Zitat
trashcandesign

Registriert seit: 21. Feb 2006
Ort: Mühlhausen
187 Beiträge
 
Delphi XE2 Professional
 
#5

Re: TDataSet kopieren/klonen

  Alt 20. Jul 2006, 12:42
Ich gebe in einem Grid Datensätze aus, in diesen kann man entweder über ein Suchfeld einen bestimmten Datensatz suchen, oder aber die Datensätze nach bestimmten Werten Gruppieren.
Um Werte für die Gruppierung zu erhalten nehm ich bestimmte Spalten der DB, lese die Werte der einzelnen Felder aus, fasse sie zusammen und gebe sie in einem TTreeView aus.

Und um das TTreeView zu füllen und doppelte Einträge raus zu sieben muss ich das DataSet ein paar mal durchlaufen.

Aber mit dem Disable und EnableComponents hat das wunderbar geklappt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: TDataSet kopieren/klonen

  Alt 20. Jul 2006, 13:40
Und wenn du den Datensatzzeiger nach Beendigung deiner Arbeiten wieder auf den ursprünglichen Datensatz zurückstellst, dann hast du genau das gleiche Verhalten als hättest du mit einem recordset clone gearbeitet: klick

Grüße vom marabu
  Mit Zitat antworten Zitat
trashcandesign

Registriert seit: 21. Feb 2006
Ort: Mühlhausen
187 Beiträge
 
Delphi XE2 Professional
 
#7

Re: TDataSet kopieren/klonen

  Alt 20. Jul 2006, 14:38
Es geht ja nicht darum nach meiner Aktion was zu machen, sondern dass er während das DataSet die Schleifen durchläuft das auch im Grid angezeigt wird => die einzelnen Zeilen werden mehrmals durchgegangen.

Und das wollte ich nicht haben.
Mit DisableControls und am Ende EnableControls hat genau das funktioniert.
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:17 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