2008-09-15 14 views
10

Bei Verwendung eines Objekts DataReader für den Zugriff auf Daten aus einer Datenbank (z. B. SQL Server) über gespeicherte Prozeduren werden alle dem Command-Objekt vor der Ausführung hinzugefügten Ausgabeparameter nach dem Lesen nicht gefüllt. Ich kann Zeilendaten genauso gut lesen, wie alle Eingabeparameter, aber keine Ausgabeparameter.Ausgabeparameter bei Verwendung mit einem DataReader nicht lesbar

Antwort

16

Dies ist aufgrund der "von Design" Natur DataReaders. Alle als ParameterDirection.Output gekennzeichneten Parameter werden erst dann "gefüllt", wenn der DataReader geschlossen wurde. Wenn sie noch offen sind, werden alle Ausgangsparameter höchstwahrscheinlich nur null zurückkommen.

Der vollständige Microsoft KB Artikel zu diesem Thema kann here angesehen werden.