Domino 9 und frühere Versionen > ND9: Entwicklung
Loop Until Res.Isendofdata überspringt letzten Datensatz
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