AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TBatchmove.Execute abbrechen
Thema durchsuchen
Ansicht
Themen-Optionen

TBatchmove.Execute abbrechen

Ein Thema von Jacki O · begonnen am 19. Okt 2003 · letzter Beitrag vom 20. Okt 2003
Antwort Antwort
Jacki O

Registriert seit: 19. Okt 2003
73 Beiträge
 
#1

TBatchmove.Execute abbrechen

  Alt 19. Okt 2003, 00:47
Hallo,

ich führe in einem Thread eine TBatchMove.Execute aus, um Datansätze zwischen 2 Datenbanken auszutauschen.
Gibt es eine Möglichkeit dieses batchmove vorzeitig (vor dessen eigener Beendigung) zu beenden ?

Gruß Jacki
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: TBatchmove.Execute abbrechen

  Alt 19. Okt 2003, 21:32
Hallo Jackie O,
nein, dass geht wohl nicht. Ich weiss jedoch nicht, was passiert, wenn du den Thread einfach beendest, aber das würde ich nicht empfehlen, da du sonst sicher inkonsistente Daten oder sogar eine defekte Datenbank erhalten könntest.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Jacki O

Registriert seit: 19. Okt 2003
73 Beiträge
 
#3

Re: TBatchmove.Execute abbrechen

  Alt 20. Okt 2003, 11:16
Hallo,

das genau ist das Problem. Wenn der Thread in dem TBatchmove gerade Daten aus der DB bezieht beendet wird, läuft die "Verbindung" weiter, bis das Ende erreicht oder die Anzahl von Datensätzen = TBachMove.Reccount ist. Man müsste also immer warten, bis TBatchmove fertig ist. Das ist aber nicht so schön. Einfacher wäre es sicher, wenn man mit einer TQuery Komponente die Daten von der einen DB in die andere kopiert und nach jedem Datensatz überprüft, ob ein Terminated aufgetreten ist. Frage: wäre das denn mindestens genauso schnell wie mit TBatchMove?????


Gruß Jacki
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: TBatchmove.Execute abbrechen

  Alt 20. Okt 2003, 11:26
Hallo Jacki O,
du könntest auch in einer Schleife durch die Datenbank laufen und das Kopieren manuell durchführen. Je nach Anzahl der Sätze könntest du bei jedem 100- oder 1000sten prüfen, ob der Benutzer abbrechen will und dann die Schleife verlassen. Das dürfte auch sehr schnell sein. Aber beachte auch mögliche Inkonsistenzen der DB beim Abbrechen der Operation.
Albert
Live long and prosper


MrSpock
  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 06:24 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