Reader status abfragen oder Prüfen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von mrMo.

    Reader status abfragen oder Prüfen

    Hallo Leute

    Ich hab da mal eine Frage oder Bitte
    Ich bin an einem Programm dran wo ich eine Funktion erstellt habe
    wo ich meine Datenbank öffne und div. Daten auslese.
    Diese Funktion wird im Programm öfters aufgerufen und jetzt ist oft das Problem das der
    Reader beim Abrufen einer Funktion oft noch offen ist und dann dadurch die
    try Funktion vom Reader übersprungen wird.

    Gibt es eine Möglichkeit den Reader status vorher abzufragen.
    z.b

    ist der Reader offen dann
    schliessen
    ende

    Ich hoffe ihr versteht was ich meine.
    Danke für eure Tipps

    Markus
    Mir scheint, du versuchst das Pferd von hinten auf zu satteln. Sollte man nicht besser sicherstellen, das der Reader nach Verwendung geschlossen wird?

    Arbeitest du mit Multithreading oder ähnlichem?

    Edit: Schau mal ob dein Reader eine .IsClosed Eigenschaft hat.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mrMo“ ()

    Ein DataReader hat wohl keine IsClosed - Eigenschaft.
    Es ist die DbConnection, die offen oder geschlossen ist. Und DbConnection hat eine Status-Property zum Abfragen.
    Aber wie du sagst: Wenn man ordentlich programmiert ist, dann ist die DbConnection vor und nach einem Daten-Abruf immer geschlossen.
    Da braucht man also keine Abfrage ob, sondern wenn an der Stelle ein Fehler auftritt, dann ist das nix zum Abfragen, sondern man muss den Code korrigieren, und eben sicherstellen, dass die Connection nicht unnütz offen herumhängt.

    ErfinderDesRades schrieb:

    Ein DataReader hat wohl keine IsClosed - Eigenschaft.
    Es ist die DbConnection, die offen oder geschlossen ist.


    Hm, auch wenn ich das noch nie genutzt habe, scheint es durchaus soetwas zu geben ->msdn.microsoft.com/en-us/libra…r.isclosed(v=vs.110).aspx

    Ich schätze aber auch, das wohl vielmehr die Verbindung zur DB nicht geschlossen wurde.

    @Floh-2001 Was mich noch interessieren würde. Was ist die Try Funktion des Readers von der du sprichst?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen