Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi PacketRecords bei ClientDataSets (https://www.delphipraxis.net/1540-packetrecords-bei-clientdatasets.html)

DKamps 6. Dez 2002 17:08


PacketRecords bei ClientDataSets
 
Bei Datenbeständen von ca. 1000 Datensätzen oder mehr dauert die Methode Open sehr lange (> 1 Minute), da alle Daten aus der DB in den Speicher geladen werden. Um dies Problem zu umgehen, kann man die Eigenschaft PacketRecords auf einen Wert von z.B. 10 setzen. Dann werden beim Open nur die ersten 10 Datensätze gelesen und nur bei Bedarf wird der Rest nachgeladen. Soweit so gut.
Wenn jetzt ein Datensatz geändert oder eingefügt wird, dann muss durch ApllyUpdates(-1) der geänderte DS an den Server geschickt werden.
Dies funktioniert aber leider nicht mehr, wenn PacketRecords <> -1. Es erscheint eine nichtssagende Fehlermeldung.
Lustigerweise scheint aber folgendes zu funktionieren: ApplayUpdates zweimal aufrufen. Der erste Aufruf gibt zwar einen Fehler zurück, der zweite dann aber einen Return Code von 0 und der Datensatz wird auch tatsächlich gespeichert.

1. Frage: Wieso funktioniert das ?
2. Frage: Funktioniert das immer ?

Zur Info: Ich verwende TSimpleDataSet und TSQLConnection gegen SQL-Server 2000.


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