Ein DataReader ist schnell, vorw�rts gerichtet und mu� explizit geschlossen
werden, genauso wie seine zurgundeliegende Connection.
Wenn Du einen Datencontainer zur�ckliefern willst, nimm ein DataSet.

Ich verwende den DataReader eben aus Performancegr�nden sehr oft, ben�tze
ihn aber nur, um Variablen in der Klasse, in der er aufgemacht wird, zu
f�llen. Das ist recht elegant.
Du kannst den DR dann gleich im Konstruktor Deiner Klasse aufrufen. Der
schaufelt alle Werte in die Felder, und dort, wo Du die Klasse
instanziierst, hast du Zugriff �ber die Eigenschaften der Klasse.

Reinhold

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Poehler, Markus
Gesendet: Freitag, 1. April 2005 15:03
An: [email protected]
Betreff: AW: [Vb.net] Datareader als Returnwert

Hallo Chris,
ich habe das �ffnen des Datareaders nur aus Gr�nden der Ordnung und
�ersichtlichkeit ausgelagert (Aufruf von Stered Procedure,
Parameterdefinitionen etc). Das w�rde also bedeuten, dass ich die Ergebnisse
des dr nun in "etwas anderes" ablegen mu�, das ich dann als Return-Wert der
Fkt. zur�ckgeben kann. Was bietet sich denn hierf�r an? 

gruss markus

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Christoph Wille
Gesendet: Freitag, 1. April 2005 14:59
An: [email protected]
Betreff: Re: [Vb.net] Datareader als Returnwert

At 02:42 PM 4/1/2005, you wrote:
>ich scheitere daran eine Funktion einen SQLdatareader zur�ckgeben zu 
>lassen, weil ich dauernd �rger mit der Verbindung habe.
>
>Scheinbar ist es so, dass ich die in der Funktion ge�ffnete Connection 
>erst nach Return Datareader wieder schlie�en kann, da der Datareader 
>sonst verloren geht.
>
>Andererseits scheint sie nach dem Return Datareader nicht mehr 
>abgearbeitet zu werden und bleibt also ge�ffnet.
>Das hat zur Folge, dass ich die Funktion kein zweites Mal aufrufen 
>kann, weil ein erneutes Connection.open zu einem Fehler f�hrt ("bereits
ge�ffnet").
>
>Wie ist die Standard-Vorgehensweise in diesem Fall??

Ein DR sollte dort verarbeitet werden, wo er aufgemacht wird. Ein DR dient
der schnellen read-only Abarbeitung von Daten. Nicht wird er �ber Layer
weitergereicht, nicht soll er verwendet werden um beim Lesen zeitintensive
Aufgaben nebenbei zu machen.

Chris


_______________________________________________
Vb.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/vb.net
_______________________________________________
Vb.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/vb.net



_______________________________________________
Vb.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/vb.net

Odpovedet emailem