Announcement

Collapse
No announcement yet.

Falle bei Lookup-Feldern ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Falle bei Lookup-Feldern ?

    Hallo,

    Ich habe viel Zeit verbracht um in einem großen Programm unerklärliche Fehler zu suchen.

    Zufällig habe ich entdeckt, daß händisch angelegte persistente Felder in einer Tabelle, welche als Lookupfelder in eine andere Datei funktionieren, die Ursache waren.

    Wird eine Nachschau in einer anderen Datei durchgeführt, bleibt der Cursor auf dem betreffenden Datensatz stehen und wird nicht wieder rückgestellt.

    Wenn man also gerade eine Schleife o.a. in betreffender Datei laufen hat, kommt diese gehörig durcheinander.

    Bei mir trat der Effekt auf, daß EOF der Tabelle überlesen wurde (ohne daß EOF auf True gesetzt wurde !)

    Ist dies ein gewollter Effekt oder soll er nur einige Programmierer zur Verzweiflung treiben ?

    Gruss<br>Helmut

  • #2
    Hallo,

    die Sache kann man so oder so sehen, Borland würde sagen "It is a feature, not a Bug". Solange die Nachschlage-Datenmenge nicht ein zweites Mal an anderer Stelle verwendet wird, ist es positiv, wenn der Datensatzzeiger beim zuletzt ausgewählten Wert stehenbleibt.

    Wenn es sich um moderate Tabellengrössen handelt, würde ich die Nachschlagedaten lokal zwischenpuffern (TClientDataSet bei Delphi 5; TBDEClientDataSet/TIBClientDataset bei Delphi 6; ADO-Recordset bei Delphi 5/6), so dass es nach dem Füllen der ClientDatasets keine direkte Verbindung zur Datenbank mehr gibt

    Comment

    Working...
    X