AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi BOF und EOF gleichzeitig true
Thema durchsuchen
Ansicht
Themen-Optionen

BOF und EOF gleichzeitig true

Ein Thema von Rainer Wolff · begonnen am 27. Nov 2008 · letzter Beitrag vom 27. Nov 2008
Antwort Antwort
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#1

BOF und EOF gleichzeitig true

  Alt 27. Nov 2008, 10:21
Datenbank: firebird • Version: 2.0 • Zugriff über: ibx + Clientdataset
Hallo,

in was für Fällen kann BOF und EOF gleichzeitig true sein? Bei leerer Datenmenge klar, aber gibt es sonst noch Situationen?

Ich habe nämlich ein sehr merkwürdiges Verhalten in meinem Programm:
Ein Masterdataset, zwei Childs, von den Childs noch 2 Clones mit CloneCursor erzeugt, alles Clientdatasets.

Beim Refresh Master bekomme ich von den Childs OnDataChange Events, dabei hat ein Child zwischendurch EOF und BOF gleichzeitig true, der Recordcount ist aber größer Null. Der Clon zeigt im selben Event aber nicht das selbe Verhalten, er hat am Anfang zwar (korrekterweise) BOF=true, aber (auch korrekt) EOF=false.
Der zweite Childset ist identisch zum ersten aufgebaut und aufgerufen und zeigt dieses Verhalten nicht.

Da der ChangeEvent anschliessend nochmal ausgelöst wird (dann mit korrekten Flags), werde ich wohl einfach eine Abfrage einbauen und den Sonderfall ignorieren, aber es würde mich eigentlich schon interessieren, warum dieses Verhalten auftaucht.

Gruß Rainer
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: BOF und EOF gleichzeitig true

  Alt 27. Nov 2008, 10:33
Hallo,

keine Lösung, aber "Erfahrungswerte?"

Mir ist im Laufe der Jahre immer mal wieder aufgefallen, dass ich mich auf Bof, EoF, RecNo und RecordCount nicht immer verlassen kann, es scheint da datenbankabhängige "Unstimmigkeiten" zugeben. Woher sie resultieren? Keine Ahnung, dass habe ich bisher nie verifizieren können.
  Mit Zitat antworten Zitat
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: BOF und EOF gleichzeitig true

  Alt 27. Nov 2008, 11:47
Dass Recordcount nicht unbedingt passt, hab ich auch schon gehört/erlebt.

Die Kontrolle mit BOF/EOF hab ich eigentlich auch erst gemacht, als ich gemerkt hab, dass keine Daten im Datensatz vorhanden sind (und mein Programm dabei eine Endlos-Exception gestartet hat).

Die Daten sind aber eigentlich sehr wohl da, an der selben Stelle wird der DatasetClone mit allen Datensätzen durchlaufen, und ein, zwei ChangeEvents später ist alles wieder in Ordnung.

Man muß aber auch nicht alles verstehen

Rainer
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: BOF und EOF gleichzeitig true

  Alt 27. Nov 2008, 13:02
Hallo,

habe gerade bei der Suche nach was Anderem in den Delphisourcen folgendes gefunden:

Delphi-Quellcode:
if Recordset.EOF and Recordset.BOF and (Recordset.RecordCount > 0) and EOF then
   Recordset.MoveLast;
Wie können EoF und BoF Wahr sein, wenn RecordCount > 0 und wohin komme ich, wenn ich dann noch zum letzten Datensatz gehe?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 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