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.