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
