Hallo!

> Ich habe ein SqlDataReader deklariert und m�chte am Schluss 
> von PageLoad 
> den Reader schliessen, falls er ge�ffent ist.
> Muss ich jedesmal den isnothing-Test machen, um sicher zu 
> gehen, dass es 
> keine Fehlermeldung gibt oder gibt es da eine andere M�glichkeit?
> 
>       If Not IsNothing(DR) AndAlso Not DR.IsClosed Then
>          DR.Close()
>       End If

Das ist eigentlich eine klassische Try-End Try-Fall, oder? Also DataReader
schlie�en und wenn's nicht klappt - egal warum - dann macht das auch nichts.

Try
   DR.Cancel()
   DR.Close()
Catch : End Try

Aber ...

> Kann ich den Reader nachdem ich ihn einem DataSource 
> zugewiesen und mit 
> DataBind  gebunden habe, gleich schliessen oder gibt das Probleme?

Wahrscheinlich gibt es Probleme - ich hab's nicht ausprobiert -, weil
DataBind dem Control lediglich die Datenquelle bekannt gibt und das Control
die Datenquelle erst w�hrend der PreRender- oder Render- oder
RenderContents-Phase nutzt. Wenn der DataReader f�r genau ein Control
arbeiten soll, w�rde ich den DataReader in der Control-Load-Phase
instanzieren und �ffnen und dann in der Control-Unload-Phase schlie�en. Bis
vor noch nicht allzu langer Zeit bestand mein "CodeBehind" aus einer
einzigen riesigen PageLoad-Routine. Heute nutze ich lieber die Load- und
Unload-Ereignisse der einzelnen Controls, weil das dann m. E. etwas
�bersichtlicher wird. Irgendwie finde ich es "logischer" oder
"�bersichtlicher", ein Objekt in xyz.Load zu �ffnen und in xyz.Unload zu
schlie�en. Und wenn man dann auch mal ein Control rausschmei�t, dann wei�
man auch direkt, welchen CodeBehind man ebenfalls entfernen muss.

Freundliche Gr��e
Joachim van de Bruck

_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an