JochenP: Überprüfen ob es einen Datensatz gibt

Hallo Zusammen,

Ich lese mit einer SQL-Abfrage, für eine ASP Seite, Datumswerte aus der Datenbank aus, die ich dann in einer Schleife weiterverwende. Am Anfang der Schleife springe ich mit  "  Urlaub.MoveFirst  "an den ersten Datensatz. Jetzt kann es aber vorkommen das es in diese Monat gar keinen Datensatz gib (weil keiner Urlaub hat) und ich erhalte folgende Fehlermeldung:

Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Die angeforderte Operation benötigt einen aktuellen Datensatz

Wie kann ich das verhindern ???

Schon mal Danke

Jochen

  1. Hallo,

    Ich lese mit einer SQL-Abfrage, für eine ASP Seite, Datumswerte aus der Datenbank aus, die ich dann in einer Schleife weiterverwende. Am Anfang der Schleife springe ich mit  "  Urlaub.MoveFirst  "an den ersten Datensatz. Jetzt kann es aber vorkommen das es in diese Monat gar keinen Datensatz gib (weil keiner Urlaub hat) und ich erhalte folgende Fehlermeldung:

    Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Die angeforderte Operation benötigt einen aktuellen Datensatz

    Du must auf jedenfall in Deiner Schleife pruefen ob der Datensatz existiert. Das geht folgendermassen:

    if not (rsName.BOF and rsName.EOF) then
           ...mach irgendwas...
     end if

    Gruss, Mel

    1. Hallo,

      Ich lese mit einer SQL-Abfrage, für eine ASP Seite, Datumswerte aus der Datenbank aus, die ich dann in einer Schleife weiterverwende. Am Anfang der Schleife springe ich mit  "  Urlaub.MoveFirst  "an den ersten Datensatz. Jetzt kann es aber vorkommen das es in diese Monat gar keinen Datensatz gib (weil keiner Urlaub hat) und ich erhalte folgende Fehlermeldung:

      Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Die angeforderte Operation benötigt einen aktuellen Datensatz

      Du must auf jedenfall in Deiner Schleife pruefen ob der Datensatz existiert. Das geht folgendermassen:

      if not (rsName.BOF and rsName.EOF) then
             ...mach irgendwas...
      end if

      Gruss, Mel

      Funktioniert leider nicht ich bekomme immer noch den selben Fehler

      1. Hallo,

        Ich lese mit einer SQL-Abfrage, für eine ASP Seite, Datumswerte aus der Datenbank aus, die ich dann in einer Schleife weiterverwende. Am Anfang der Schleife springe ich mit  "  Urlaub.MoveFirst  "an den ersten Datensatz. Jetzt kann es aber vorkommen das es in diese Monat gar keinen Datensatz gib (weil keiner Urlaub hat) und ich erhalte folgende Fehlermeldung:

        Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Die angeforderte Operation benötigt einen aktuellen Datensatz

        Du must auf jedenfall in Deiner Schleife pruefen ob der Datensatz existiert. Das geht folgendermassen:

        if not (rsName.BOF and rsName.EOF) then
               ...mach irgendwas...
        end if

        Gruss, Mel

        Funktioniert leider nicht ich bekomme immer noch den selben Fehler

        hi

        arbeite mit "on error resume next" und frag dann ab ob Err.number <> 0 ist. wenn das der fall ist, gabs einen fehler.

        scnöne, cu
          capior

      2. Hallo,

        Ich lese mit einer SQL-Abfrage, für eine ASP Seite, Datumswerte aus der Datenbank aus, die ich dann in einer Schleife weiterverwende. Am Anfang der Schleife springe ich mit  "  Urlaub.MoveFirst  "an den ersten Datensatz. Jetzt kann es aber vorkommen das es in diese Monat gar keinen Datensatz gib (weil keiner Urlaub hat) und ich erhalte folgende Fehlermeldung:

        Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Die angeforderte Operation benötigt einen aktuellen Datensatz

        Du must auf jedenfall in Deiner Schleife pruefen ob der Datensatz existiert. Das geht folgendermassen:

        if not (rsName.BOF and rsName.EOF) then
               ...mach irgendwas...
        end if

        Gruss, Mel

        Funktioniert leider nicht ich bekomme immer noch den selben Fehler

        Hallo,
        ich weiß zwar nicht, was rsName.BOF ist, aber mit der Fehlermeldung "Entweder BOF oder EOF ist True", müßte man da nicht verwenden
        if not (rsName.BOF or rsName.EOF) then
          ...mach irgendwas...
        end if
        weil doch (not A) and (not B) = not (A or B)

        Eine andere Möglichkeit wäre noch zu fragen
        if rsName.recordcount>0 then
          rsName.movefirst 'kann man auch weglassen
          ...mach irgendwas...
        end if

        MfG. Lutz T.

        1. Hallo Lutz

          ich weiß zwar nicht, was rsName.BOF ist, ...

          BOF = Begin of File, im Sinne, dass der aktuelle Datensatz der (virtuelle) Datensatz vor dem ersten Datensatz des Recordsets ist.
          Genau so wie EOF (End of File) meint, dass der aktuelle Datensatz der (virtuelle) Datensatz nach dem letzten Datensatz des Recordsets ist.

          Grüsse

          Eisbär