Re: Datareader schließen



Hi,

auf NULL prüfen.

Grüße
Kai

"Joachim Hofmann" <speicher@xxxxxxxxxx> schrieb im Newsbeitrag news:u1jxu0O7IHA.1592@xxxxxxxxxxxxxxxxxxxxxxx
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

.



Relevant Pages

  • Re: Debuggen von Critical Sections
    ... myFileStream: TFileStream; ... Damit wird eine Initialisierung der lokalen Variablen überflüssig, weil bei einem Fehler im Konstruktor der Try-Block überhaupt nicht betreten wird, und damit das Free in Finally nicht aufgerufen werden kann. ... Aber wie gesagt, die Initialisierung aller Objekt-Variablen mit Nil hat deutliche Vorteile, denn dann kann man auch mehrere Objekte innerhalb des Try-Blocks erzeugen, und im Finally wieder freigeben. ... try-finally und try-except sind immer getrennte Blöcke, beides zusammen in einem Block geht nicht, macht bei genauerer Betrachtung auch keinen Sinn. ...
    (de.comp.lang.delphi.misc)
  • Datareader =?ISO-8859-1?Q?schlie=DFen?=
    ... 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 ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • autom. Umleitung
    ... Wie kann ich im Fehlerfall (Try, Catch, Finally) auf eine ... andere Seite wechseln? ... Bei ASP gab es ja: ...
    (microsoft.public.de.german.entwickler.dotnet.asp)

Quantcast