Hallo,
ich habe soeben ein merkwürdiges Verhalten der BDE (Delphi 5 Enterprise, Update Pack 1) rausgekriegt.
Es existieren mehrere zusammengesetzte Indizes in einer SQL-Tabelle (Interbase 5.6). Einer davon ist im Objektinspektor ausgewählt.
Stellt man nun per Zuweisung<br>
Table.IndexName := 'IndexA';<br>
auf einen anderen (gültigen) Index und versucht man nun folgende Schleife
Table.First;<br>
While not Table.EOF do<br>
begin<br>
...<br>
Table.Edit;<br>
...<br>
Ändern eines Feldes<br>
Table.Post;<br>
...<br>
Table.Next;<br>
end;<br>
Bei Durchführung dieser Schleife wird EOF überlaufen !!! (man läuft in eine Endlosschleife)<br>
und<br>
Die Änderung wird nicht im Satz eingetragen !<br>
Stellt man denjenigen Table.IndexName ein, welcher ursprünglich im Objektinspektor definiert wurde, läuft alles wunderbar.
Hat jemand eine Erklärung ?
Gruss<br>
Helmut
ich habe soeben ein merkwürdiges Verhalten der BDE (Delphi 5 Enterprise, Update Pack 1) rausgekriegt.
Es existieren mehrere zusammengesetzte Indizes in einer SQL-Tabelle (Interbase 5.6). Einer davon ist im Objektinspektor ausgewählt.
Stellt man nun per Zuweisung<br>
Table.IndexName := 'IndexA';<br>
auf einen anderen (gültigen) Index und versucht man nun folgende Schleife
Table.First;<br>
While not Table.EOF do<br>
begin<br>
...<br>
Table.Edit;<br>
...<br>
Ändern eines Feldes<br>
Table.Post;<br>
...<br>
Table.Next;<br>
end;<br>
Bei Durchführung dieser Schleife wird EOF überlaufen !!! (man läuft in eine Endlosschleife)<br>
und<br>
Die Änderung wird nicht im Satz eingetragen !<br>
Stellt man denjenigen Table.IndexName ein, welcher ursprünglich im Objektinspektor definiert wurde, läuft alles wunderbar.
Hat jemand eine Erklärung ?
Gruss<br>
Helmut
Comment