DbSkip() <> DbSkipper()

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

DbSkip() <> DbSkipper()

Beitrag von Manfred »

Hi,

bei unserem gestrigen Treffen in Leverkusen, bin ich auf folgendes gestossen worden:

Dbskipper() anstatt DbSkip() zu benutzen. Bei Dbskip() stört ein wenig, dass bei EOF() LastRec()+1 erreicht ist und somit der Phantomsatz zur Geltung kommt. Ist nicht immer gut.

Die Sache mit DbSkipper() hat den Vorteil, das man die Rückgabe prüfen kann und sofort weiß, ob die gewünschte Anzahl an Sprüngen erfolgreich war, oder ist. Man steht aber im schlimmsten Fall auf dem letzten Record und nicht auf dem Phantomsatz. Das sieht natürlich wesentlich interessanter aus.

Hat irgendjemand Einwände, warum man doch besser Dbskip() für die normalen Vorgänge weiter benutzen soll, oder gar muß?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: DbSkip() <> DbSkipper()

Beitrag von brandelh »

Hi,

wie sieht es mit deiner Schleife aus ...

Code: Alles auswählen

do while ! eof()
    ...
    dbSkipper()
enddo
ist nicht wirklich schnell ;-)

Aber solange du im Programm weißt was passiert und damit umgehst, warum nicht.
Für Browser ist die Funktion ja gebaut, die machen auf EOF keine gute Figur ...
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: DbSkip() <> DbSkipper()

Beitrag von Manfred »

Hi Hubert,

so mache ich es ja nicht. Ich habe mir in meiner Klasse eine Methode für Skip geschrieben. Dort tausche ich dann einfach nur gegen DbSkipper aus. Ich finde die Idee mit dem DbSkipper total gut, weil ich so leere Eingabefelder im direkten Zugriff vermeide. Und, ich brauche mir nicht mehr zu merken, ob ich etwas gefunden habe, oder nicht. Ich kann ja jetzt direkt reagieren.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: DbSkip() <> DbSkipper()

Beitrag von brandelh »

Hi Manfred,

in deiner Klasse kannst du doch auch bei eof() einfach einen zurückgehen ... ;-)

Aber wie geschrieben, solange die Funktionalität passt, warum nicht.
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: DbSkip() <> DbSkipper()

Beitrag von Manfred »

Jou,

so hatte ich das bisher gemacht, aber mit dem DbSkipper() fällt das alles flach. Und ich brauch dann nicht wieder zurück, oder vor und dann die Daten zu aktualisieren. Dies ist besonders interessant, bei selbstgebauten Relationen.

Es ging mir ja auch nur darum, ob ich irgendwas übersehe, was der Skipper mit sich bringt und berücksichtigt werden muß, bzw. evtl. mehr Nachteile als Vorteile bringen könnte.

Dem scheint aber nicht so zu sein. Wobei mir gerade aufgefallen ist, dass ich die ganze Sache generell vereinfachen und zusammenfassen kann. Ich habe diese Lösung bisher auch viel zu kompliziert angefasst. :roll:

Ja, man kann gar nicht oft genug den Code durchstöbern und optimieren.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: DbSkip() <> DbSkipper()

Beitrag von brandelh »

Hi,

bei RELATIONen wäre ich vorsichtig, wer weiß was intern alles gemacht wird ...
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: DbSkip() <> DbSkipper()

Beitrag von Manfred »

Hubert,

ich meinte selbstgebaute, also von Hand nachgeführte. Aber wo sollte der Unterschied liegen im Verhältnis zu einem Browser, da gibt es ja auch nur den Skipper und das mit Relationen? Fällt mir gerade so ein.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten