Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zu "langsame Funktion" im Zusammenspiel mit Datenbank (https://www.delphipraxis.net/26759-zu-langsame-funktion-im-zusammenspiel-mit-datenbank.html)

Yheeky 28. Jul 2004 21:51


Zu "langsame Funktion" im Zusammenspiel mit Datenb
 
Hi,

ich habe folgendes Prob: Ich arbeite mit einer MySQL Datenbank und nun tritt folgendes Problem auf:
In einer for-Schleife wird eine Befehl an die Datenbank gegeben. Da die Datenbank nun aber zu langsam "arbeitet" ist die Schleife einfach zu schnell und der Datenbankbefehl wird nur noch für den letzten Eintrag der Schleife ausgeführt. Beispiel:

Code:
For Zaehler := 0 to Stringlist.Count-1 do
   begin
   TestToAdd := ListView.Items.Add;
   TestToAdd.ImageIndex := -1;
   TestToAdd.SubItems.Add(Stringlist.Strings[Zaehler]);
   TestToAdd.SubItems.AddObject('', nil);
   AssignSomething(Stringlist.Strings[Zaehler]);
   end;
Für Zaehler = 0 werden also alle Befehle ausgeführt bis auf den letzten (der DB Befehl). Dieser wird in einer anderen Procedure ausgeführt und dauert wohl zulange, sodass Zaehler auf 1 gesetzt wird, obwohl AssignSomething nicht komplett ausgeführt wurde.

Was kann ich gegen dieses Problem tun?

Gruß yheeky

Memo 29. Jul 2004 10:08

Re: Zu "langsame Funktion" im Zusammenspiel mit Da
 
Ohne "AssignSomething" zu sehen wird es sicher sehr schwer fallen etwas dazu zu sagen.

Luckie 29. Jul 2004 10:23

Re: Zu "langsame Funktion" im Zusammenspiel mit Da
 
Yheeky: Hast du das Demo Projekt noch, was ich dir im ICQ gebastelt habe? Dann poste doch mal bitte eine Mögliche Lösung, die wir gefunden haben, am besten mit dem Demo-Projekt als Beispiel. Danke.

Ich kann es ja mal eben hier kurz umreißen, was ich mir gedacht habe:
Man ruft die besagte Funktion in einem Thread auf und wartete mit MSDN-Library durchsuchenWaitforsingleobject bis der Thread signalisiert. Einzigstes Probelm, solange der Hauptthread wartet reagiert das Fenster nicht mehr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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