Domino 9 und frühere Versionen > ND9: Entwicklung

Loop Until Res.Isendofdata überspringt letzten Datensatz

(1/2) > >>

ralph71:
Hallo zusammen,

über den unten (abgekürzten) Code hole ich mir aus einer SQL-Datenbank Datensätze (res) und durchlaufe diese über eine Do-Loop.

Dim res As New ODBCResultSet
....
Res.FirstRow
Do
        'Mach irgendwas
   Res.NextRow
Loop Until Res.Isendofdata

Wenn ich das laufen lasse, dann führt mir der Loop den Code "Mach irgendwas" nur einmal aus, obwohl im ODBCResultSet 2 Datensätze sind (sehe ich im Debugger auch unter Currentrow = 2)

Ablauf:
hole den ersten Satz aus res (Currentrow =1) --> ""Mach irgendwas" --> gehe zum nächsten Satz (Currentrow = 2) --> Loop Until Res.Isendofdata --> Ende!!
Die Bedingung Isendofdata killt den letzten Satz. res ist doch noch nicht auf endofdata (steht ja auf Satz 2)????
Wo ist mein Denkfehler bzw wie erreiche ich, dass er den letzten Satz auch bearbeitet?
Danke!

Grüße
Ralph

jBubbleBoy:
versuch es mal damit:

--- Code: ---res.Execute
Do
res.NextRow
'-- mach was
Loop Until res.IsEndOfData

--- Ende Code ---

ralph71:
"Res.Execute" hab ich natürlich drin.

Was mir völlig unverständlich ist_

Do
        'Mach irgendwas
   Res.NextRow
Loop

... führt zu keinem Fehler. Endlos-Loop. Versteh ich nicht. Kann das am ODBC-Treiber liegen?

ralph71:
Treffer!
Ein

Res.Execute
Do
      Res.NextRow
Loop Until Res.Isendofdata

Saved my day!

ralph71:
Sorry, zu früh gefreut.

Geht so nicht...

Res.Execute
Do
     'mach was
     Res.NextRow
     'mach was
Loop Until Res.Isendofdata

Ablauf:
nimmt den ersten Satz --> macht was --> NextRow (macht er nicht!! weil der Currentrow =1 bleibt) --> mach was --> Loop --> mach was --> NextRow (macht er!! Currentrow =2) --> mach was --> ENDE
Dh er killt wieder den letzten Satz

Ich checks ned... Macht keinen Sinn.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln