Datareader schließen

23/07/2008 - 19:54 von Joachim Hofmann | Report spam
Hallo

Ich öffne einen Datareader:

Try
dr = myCMD.ExecuteReader()
...

Wenn dieses, oder einige folgende Dinge, die auch im Try-Block sind nicht gelingt, springe ich in
den Catch - Block.
In Finally wird der dr geschlossen:

If Not dr.IsClosed Then dr.Close()

Problem: Wenn der dr gar nicht "exekutiert" werden konnte, weil z.B. der SQL-String fehlerhaft ist,
gibt es an dieser Stelle eine hàßliche Meldung:

"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt"

Das hat nun leider nichts mit der Fehlerursache zu tun.


Wie kann ich den dr in Finally schließen, ohne daß es einen Fehler gibt, falls der dr nicht erzeugt
werden konnte?


Danke

Joachim
 

Lesen sie die antworten

#1 Kai Korla
23/07/2008 - 20:08 | Warnen spam
Hi,

auf NULL prüfen.

Grüße
Kai

"Joachim Hofmann" schrieb im Newsbeitrag
news:
Hallo

Ich öffne einen Datareader:

Try
dr = myCMD.ExecuteReader()
...

Wenn dieses, oder einige folgende Dinge, die auch im Try-Block sind nicht
gelingt, springe ich in den Catch - Block.
In Finally wird der dr geschlossen:

If Not dr.IsClosed Then dr.Close()

Problem: Wenn der dr gar nicht "exekutiert" werden konnte, weil z.B. der
SQL-String fehlerhaft ist, gibt es an dieser Stelle eine hàßliche Meldung:

"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt"

Das hat nun leider nichts mit der Fehlerursache zu tun.


Wie kann ich den dr in Finally schließen, ohne daß es einen Fehler gibt,
falls der dr nicht erzeugt werden konnte?


Danke

Joachim

Ähnliche fragen