Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

Endlosschleife mit RecordSet

Letzter Beitrag 08-11-2008 11:41 von MichaelFuermann. 10 Antworten.
Seite 1 von 1 (11 Treffer)
Beiträge sortieren: Zurück Weiter
  • 08-11-2008 10:31

    Endlosschleife mit RecordSet

    Hallo zusammen
    Nach langer Fehlersuche wende ich mich jetzt hier an diese Liste. Ich hoffe, ihr könnt mir weiterhelfen.

    Code wie diesen verwende ich in meiner Anwendung überall um Daten auszulesen, nur an dieser stelle geht es schief und ich weiß nicht warum...

     Public Sub LoadUserqueryFromDb()
    Dim Rs, Sql, Join, Where
    Join = ""
    Where = ""
    If Not m_isAdmin Then
    Join = "INNER JOIN querytool_alloc_employees_sql AS es ON (s.d_queryId=es.d_queryId) "
                    Where = " es.d_employeeId = "&PN&" "
    End If
    Sql = "SELECT " _
    & "qs.d_savedId " _
    & "FROM querytool_savedqueries AS qs " _
    & "INNER JOIN querytool_sql AS s ON (qs.d_queryId=s.d_queryId) "_
    & Join _
    & "WHERE qs.d_employeeId = " & PN & " " _
    & Where _
    & "ORDER BY " _
    & "s.c_category, s.c_title, s.d_queryId"
    Set Rs = Server.CreateObject("ADODB.Recordset")
    With Rs
    .ActiveConnection = IntraConnection
    .CacheSize = 15
    Call .Open(Sql)
    Do While Not .EOF AND Not .BOF
    Set Query = New Querytool_Query
    Call Query.LoadUserqueryFromDb(.Fields("d_savedId").Value)
    If Not m_Queries.Exists(Query.Id) Then Call m_Queries.Add(Query.Id, Query)
    Loop
    Call .Close()
    End With
    Set Rs = Nothing
    End Sub

    In der Datenbank existiert genau 1 Datensatz, der über diese Abfrage gefunden wird. Wenn ich die Anweisung ausgeben lasse und manuell ausführe bekomme ich exakt diesen einen Datensatz.
    Das Skript allerdings läuft in eine Endlosschleife.
    Folgendes habe ich getestet:
    Den Inhalt der While-Schleife komplett auskommentieren: keine Änderung
    Die Schleife komplett auskommentieren: keine Schleife mehr
    Den Datensatz in der DB ändern, damit 0 Sätze zurückgegeben werden: keine Endlosschleife mehr
    Einen weiteren Datensatz hinzufügen: keine Änderung

    Sämtliche Tests habe ich nur mit der Schleife selbst, nicht mit ihrem Inhalt getestet um zu verhindern, dass ein möglicher Fehler der aufgerufenen Funktionen noch eine Schleife auslöst.

    Habt ihr vielleicht irgendeine Idee, was hier schief läuft?

    Abgelegt unter: , ,
    • IP-Adresse ist Registriert
  • 08-11-2008 10:37 Antwort zu

    AW: Endlosschleife mit RecordSet

    Probier mal:

    Do While Not .EOF OR Not .BOF

    Bzw. kannst das .BOF ja auch ganz weglassen, da Du ja nur vorwärts springst. Also:
    Do While Not .EOF

    ;)

    • IP-Adresse ist Registriert
  • 08-11-2008 10:46 Antwort zu

    Re: AW: Endlosschleife mit RecordSet

     da fehlt doch das .MoveNext

     

    Gruss Christoph

    • IP-Adresse ist Registriert
  • 08-11-2008 10:47 Antwort zu

    AW: Endlosschleife mit RecordSet

    Besser lesbar finde ich:

    Do Until .EOF OR .BOF 

     

    Apropos vorwärtsspringen ...

    ... und dann vermisse ich da noch ein .MoveNext

     

    • IP-Adresse ist Registriert
  • 08-11-2008 10:53 Antwort zu

    AW: Endlosschleife mit RecordSet

    Und ich hatte dieses Jahr noch keinen Urlaub *brettvordenaugenhab".

     

    • IP-Adresse ist Registriert
  • 08-11-2008 10:57 Antwort zu

    AW: AW: Endlosschleife mit RecordSet

    Intelligenz: 1

    Michael: 0

     

    Danke vielmals für die schnelle Hilfe.

    In Zukunft werde ich dann wohl doch wie alle anderen mehr mitCopy&Paste arbeiten anstatt das zeug jedes mal wieder neu zu tippen ;)

     

    Gruß aus Augsburg

    Michael

     

    Von: ChristophSchmid[mailto:bounce-ChristophSchmid@glengamoi.com]
    Gesendet: Montag, 11. August 2008 10:47
    An: Michael Fürmann
    Betreff: Re: [ASP] AW: Endlosschleife mit RecordSet

     

     da fehlt doch das .MoveNext

     

    Gruss Christoph



    • IP-Adresse ist Registriert
  • 08-11-2008 10:57 Antwort zu

    AW: AW: Endlosschleife mit RecordSet

    Das geht ja echt flott hier in der Liste!

    Ich bin begeistert!

    So schnell hatte ich noch überhaupt nicht mit einer antwortgerechnet und dann gleich so viele innerhalb weniger Minuten ;)

     

    Vielen Dank dafür

     

    Von: Arno Lohmer[mailto:bounce-ArnoLohmer@glengamoi.com]
    Gesendet: Montag, 11. August 2008 10:52
    An: Michael Fürmann
    Betreff: [ASP] AW: Endlosschleife mit RecordSet

     

    Besser lesbar finde ich:

    Do Until .EOF OR .BOF 

     

    Apropos vorwärtsspringen ...

    ... und dann vermisse ich da noch ein .MoveNext

     



    • IP-Adresse ist Registriert
  • 08-11-2008 11:04 Antwort zu

    AW: AW: Endlosschleife mit RecordSet

    Auch mehrfach Copy&Paste ist doch generell verboten ;-)))

    Cheers,
    Oliver
    • IP-Adresse ist Registriert
  • 08-11-2008 11:05 Antwort zu

    AW: AW: Endlosschleife mit RecordSet

    Funktioniert leider auch nicht.

     

    Das .BOF kam auch aus einem meiner Tests, hatte ich vergessen zuerwähnen. Es war ursprünglich auch nicht enthalten.

     

    Von: GerhardBuchner[mailto:bounce-GerhardBuchner@glengamoi.com]
    Gesendet: Montag, 11. August 2008 10:42
    An: Michael Fürmann
    Betreff: [ASP] AW: Endlosschleife mit RecordSet

     

    Probier mal:

    Do While Not .EOF OR .BOF

    ;)



    • IP-Adresse ist Registriert
  • 08-11-2008 11:36 Antwort zu

    AW: AW: Endlosschleife mit RecordSet

    wie Christoph sagte...

     

    das .MoveNext Fehlt

    • IP-Adresse ist Registriert
  • 08-11-2008 11:41 Antwort zu

    AW: AW: AW: Endlosschleife mit RecordSet

    Das habe ich auch schon eingefügt und es funktioniert jetztalles.

    Meine Antwort mit .BOF kam – warum auch immer – mit einer riesenverzögerung

     

    Von: Chris Cluss[mailto:bounce-Chris_Cluss@glengamoi.com]
    Gesendet: Montag, 11. August 2008 11:38
    An: Michael Fürmann
    Betreff: [ASP] AW: AW: Endlosschleife mit RecordSet

     

    wie Christoph sagte...

     

    das .MoveNext Fehlt



    • IP-Adresse ist Registriert
Seite 1 von 1 (11 Treffer)