DbDataReader.GetFieldValueAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Wert der angegebenen Spalte asynchron als angeforderten Typ ab.
Überlädt
| GetFieldValueAsync<T>(Int32) |
Ruft den Wert der angegebenen Spalte asynchron als angeforderten Typ ab. |
| GetFieldValueAsync<T>(Int32, CancellationToken) |
Ruft den Wert der angegebenen Spalte asynchron als angeforderten Typ ab. |
GetFieldValueAsync<T>(Int32)
Ruft den Wert der angegebenen Spalte asynchron als angeforderten Typ ab.
public:
generic <typename T>
System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal);
public System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal);
member this.GetFieldValueAsync : int -> System.Threading.Tasks.Task<'T>
Public Function GetFieldValueAsync(Of T) (ordinal As Integer) As Task(Of T)
Typparameter
- T
Der Typ des zurückzugebenden Werts.
Parameter
- ordinal
- Int32
Die nullbasierte Ordnungszahl der Spalte.
Gibt zurück
- Task<T>
Eine Aufgabe, deren Result den Wert der angegebenen Spalte enthält.
Ausnahmen
Die Verbindung wurde während des Datenabrufs gelöscht oder geschlossen.
- oder -
Der Datenreader wurde während des Datenabrufs geschlossen.
- oder -
Es sind keine Daten zum Lesen vorhanden (beispielsweise wurde der erste Read() nicht aufgerufen oder hat false zurückgegeben).
- oder -
Es wurde versucht, eine zuvor gelesene Spalte im sequenziellen Modus zu lesen.
- oder -
Es gab einen aktiven asynchronen Vorgang. Dies gilt für alle Get_*_-Methoden bei der Ausführung im sequenziellen Modus, da sie während des Lesens eines Datenstroms aufgerufen werden können.
Der Spaltenindex ist außerhalb des gültigen Bereichs.
Der von der Datenbank zurückgegebene Wert passt nicht oder kann nicht in T umgewandelt werden.
Hinweise
Diese asynchrone Methode ist nur erforderlich, um das Blockieren des aufrufenden Threads zu vermeiden, wenn der Reader im sequenziellen Modus erstellt wird.
Wenn der sequenzielle Modus nicht angegeben ist, sollten alle Spaltenwerte jedes Mal im Arbeitsspeicher verfügbar sein, wenn ReadAsync abgeschlossen ist, und das Aufrufen der synchronen Version der Methode sollte den aufrufenden Thread nicht blockieren.
Die Standardimplementierung dieser asynchronen Methode ruft sein synchrones Gegenstück auf und gibt einen abgeschlossenen Vorgang zurück, der möglicherweise den aufrufenden Thread blockiert.
Datenanbieter, die die asynchrone Programmierung unterstützen, sollten die Standardimplementierung mit asynchronen I/O-Vorgängen außer Kraft setzen.
Andere Methoden und Eigenschaften des DbDataReader-Objekts sollten nicht aufgerufen werden, während die zurückgegebene Aufgabe noch nicht abgeschlossen ist.
Gilt für:
GetFieldValueAsync<T>(Int32, CancellationToken)
Ruft den Wert der angegebenen Spalte asynchron als angeforderten Typ ab.
public:
generic <typename T>
virtual System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overridable Function GetFieldValueAsync(Of T) (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of T)
Typparameter
- T
Der Typ des zurückzugebenden Werts.
Parameter
- ordinal
- Int32
Die nullbasierte Ordnungszahl der Spalte.
- cancellationToken
- CancellationToken
Ein Token zum Abbrechen des asynchronen Vorgangs.
Gibt zurück
- Task<T>
Eine Aufgabe, deren Result den Wert der angegebenen Spalte enthält.
Ausnahmen
Die Verbindung wurde während des Datenabrufs gelöscht oder geschlossen.
- oder -
Der Datenreader wurde während des Datenabrufs geschlossen.
- oder -
Es sind keine Daten zum Lesen vorhanden (beispielsweise wurde der erste Read() nicht aufgerufen oder hat false zurückgegeben).
- oder -
Es wurde versucht, eine zuvor gelesene Spalte im sequenziellen Modus zu lesen.
- oder -
Es gab einen aktiven asynchronen Vorgang. Dies gilt für alle Get_*_-Methoden bei der Ausführung im sequenziellen Modus, da sie während des Lesens eines Datenstroms aufgerufen werden können.
Der Spaltenindex ist außerhalb des gültigen Bereichs.
Der von der Datenbank zurückgegebene Wert passt nicht oder kann nicht in T umgewandelt werden.
Hinweise
Diese asynchrone Methode ist nur erforderlich, um das Blockieren des aufrufenden Threads zu vermeiden, wenn der Reader im sequenziellen Modus erstellt wird.
Wenn der sequenzielle Modus nicht angegeben ist, sollten alle Spaltenwerte jedes Mal im Arbeitsspeicher verfügbar sein, wenn ReadAsync abgeschlossen ist, und das Aufrufen der synchronen Version der Methode sollte den aufrufenden Thread nicht blockieren.
Die Standardimplementierung dieser asynchronen Methode ruft sein synchrones Gegenstück auf und gibt einen abgeschlossenen Vorgang zurück, der möglicherweise den aufrufenden Thread blockiert. Die Standardimplementierung gibt auch eine abgebrochene Aufgabe zurück, wenn ein bereits abgebrochenes Abbruchtoken übergeben wurde.
Datenanbieter, die die asynchrone Programmierung unterstützen, sollten die Standardimplementierung mit asynchronen I/O-Vorgängen außer Kraft setzen.
Diese Methode nimmt ein Abbruchtoken an, das verwendet werden kann, um ein frühes Abbrechen des Vorgangs anzufordern. Implementierungen können diese Anforderung ignorieren.
Andere Methoden und Eigenschaften des DbDataReader-Objekts sollten nicht aufgerufen werden, während die zurückgegebene Aufgabe noch nicht abgeschlossen ist.