Aha, siehstduwohl, irgendetwas musste doch sein!
Durchaus rufe ich neben anderen Feldern die rowID auf (brauche ich auch).
rsDaten = DB_Inst.SQLSelect("SELECT rowID, Klasse, NrInKlasse, NAME_VORNAME,
Geschlecht, " + aktuSQL_SELECTString + " FROM tblAlles WHERE " +
aktuSQL_WHEREString)
Aber dennoch kapiere ich das nicht gleich:
Beim 1.Durchgang durch das RecordSet sind die Daten des 1.Datensatzes ja
vollständig da. Warum sollte das beim 2.Durchgang anders sein?
Zudem, wenn der 1.Datensatz für irgendetwas reserviert ist, wo sollten dann
meine "ersten" Daten geblieben sein? Immerhin, der 1.Datensatz hat alle
aufgerufenen Felder und die Felder haben auch den richtigen Feld-Namen, nur,
es werden die Feld-Inhalte nicht angezeigt.
Vielleicht kannst du mir das noch erklären, lieber Stefan.
einstweilen beste Grüße, Christian Hahn.
----- Original Message -----
From: "Stefan Sicurella" <[email protected]>
To: "REALbasic NUG German" <[email protected]>
Sent: Monday, June 08, 2009 8:49 AM
Subject: Re: RecordSet MoveFirst
Hallo Christian,
wie sieht denn dein sqlseclect aus?
Falls du es mit rowid aufrufst ist der erste Datensatz immer die
Anzahl der rowids
Gruß
Stefan
Hallo, ich habe aus meiner RealSQLDatabase ein RecordSet rsDaten
erstellt.
Mit rsDaten.MoveFirst gehe ich an den Anfang des RecordSet und durchlaufe
das RecordSet mit rsDaten.MoveNext.
Für den 2.Durchlauf gehe ich mit rsDaten.MoveFirst wieder auf den 1.
Datensatz.
msgbox str(rsDaten.EOF) gibt aber True an.
Dennoch durchlaufe ich das RecordSet ein zweites Mal.
Es werden auch alle Datensätze zurückgegeben, jedoch die Werte des
1.Datensatzes bleiben leer, alle anderen Werte werden korrekt
zurückgegeben.
Kann man sich das erklären? Ich werde noch verrückt.
beste Grüße, Christian Hahn.
for n= 1 to 3
tmpText = ""
rsDaten.MoveFirst
for i= 1 to rsDaten.RecordCount
for j = 1 to rsDaten.FieldCount
tmpText = tmpText + ";" + rsDaten.IdxField(j).Name +": " +
rsDaten.IdxField(j).StringValue
next 'nächstes DatenFeld
tmpText = tmpText + EndOfLine
rsDaten.MoveNext
next 'nächster Datensatz
msgbox tmpText
next ' nächster Durchlauf