Ich habe diesen Code:
%Vor%Wie verweise ich darauf?
Ich habe das versucht, aber es funktioniert nicht.
%Vor%Wie würde ich auch vom Leser lesen?
%Vor%Bearbeiten :
Ich erhalte jetzt den folgenden Fehler:
Ausnahmedetails: System.NullReferenceException: Objektreferenz nicht auf eine Instanz eines Objekts festgelegt.
Hier ist der aktualisierte Code:
%Vor% Das Problem ist, dass das Verlassen der Funktion (über die return-Anweisung) Sie aus den using
-Blöcken herausschleudert und somit die von Ihnen verwendeten SqlDataReader und SqlConnections entfernt werden. Versuchen Sie, die Funktionssignatur wie folgt zu ändern, um das Problem zu umgehen:
und aktualisieren Sie dann die Mitte der Funktion wie folgt:
%Vor%Für das Finale "Wie lese ich daraus?" Teil könnte es so aussehen:
%Vor%Ich glaube diese StackOverflow-Antwort verdient Erwähnung. Eine sehr einfache und angenehm zu bedienende Lösung.
Das Problem besteht darin, dass Sie die Datenbankverbindung innerhalb Ihrer Methode erstellen.
Wenn Sie Datenbankressourcen zwischen vielen Methoden freigeben möchten, verschieben Sie SqlConnection außerhalb dieses Bereichs.
Auf diese Weise können Sie den Reader von dieser Funktion zurückgeben und er wird beibehalten.
Auch nicht. Lesen () innerhalb dieser Funktion, nur das Objekt zurückgeben.