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 asynchron den Wert der angegebenen Spalte als angeforderten Typ ab.
Überlädt
| Name | Beschreibung |
|---|---|
| GetFieldValueAsync<T>(Int32) |
Ruft asynchron den Wert der angegebenen Spalte als angeforderten Typ ab. |
| GetFieldValueAsync<T>(Int32, CancellationToken) |
Ruft asynchron den Wert der angegebenen Spalte als angeforderten Typ ab. |
GetFieldValueAsync<T>(Int32)
Ruft asynchron den Wert der angegebenen Spalte 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 Spalten-Ordnungszahl.
Gibt zurück
Eine Aufgabe, deren Result Wert den Wert der angegebenen Spalte enthält.
Ausnahmen
Die Verbindung wurde während des Datenabrufs verworfen oder geschlossen.
-oder-
Der Datenleser wurde während des Datenabrufs geschlossen.
-oder-
Es sind keine Daten zum Lesen bereit (z. B. die erste Read() wurde nicht aufgerufen oder zurückgegeben false).
-oder-
Es wurde versucht, eine zuvor gelesene Spalte im sequenziellen Modus zu lesen.
-oder-
Es wurde ein asynchroner Vorgang ausgeführt. Dies gilt für alle Get_*_-Methoden, wenn sie im sequenziellen Modus ausgeführt werden, da sie beim Lesen eines Datenstroms aufgerufen werden können.
Der Spaltenindex liegt außerhalb des Bereichs.
Der von der Datenbank zurückgegebene Wert stimmt nicht überein oder kann nicht in T.
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 bei jedem Abschluss von ReadAsync im Arbeitsspeicher verfügbar werden, und das Aufrufen der synchronen Version der Methode sollte den aufrufenden Thread nicht blockieren.
Die Standardimplementierung dieser asynchronen Methode ruft das synchrone Gegenstück auf und gibt eine abgeschlossene Aufgabe zurück, die den aufrufenden Thread potenziell blockiert.
Datenanbieter, die die asynchrone Programmierung unterstützen, sollten die Standardimplementierung mit asynchronen E/A-Vorgängen überschreiben.
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 asynchron den Wert der angegebenen Spalte 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 Spalten-Ordnungszahl.
- cancellationToken
- CancellationToken
Ein Token zum Abbrechen des asynchronen Vorgangs.
Gibt zurück
Eine Aufgabe, deren Result Wert den Wert der angegebenen Spalte enthält.
Ausnahmen
Die Verbindung wurde während des Datenabrufs verworfen oder geschlossen.
-oder-
Der Datenleser wurde während des Datenabrufs geschlossen.
-oder-
Es sind keine Daten zum Lesen bereit (z. B. die erste Read() wurde nicht aufgerufen oder zurückgegeben false).
-oder-
Es wurde versucht, eine zuvor gelesene Spalte im sequenziellen Modus zu lesen.
-oder-
Es wurde ein asynchroner Vorgang ausgeführt. Dies gilt für alle Get_*_-Methoden, wenn sie im sequenziellen Modus ausgeführt werden, da sie beim Lesen eines Datenstroms aufgerufen werden können.
Der Spaltenindex liegt außerhalb des Bereichs.
Der von der Datenbank zurückgegebene Wert stimmt nicht überein oder kann nicht in T.
Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.
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 bei jedem Abschluss von ReadAsync im Arbeitsspeicher verfügbar werden, und das Aufrufen der synchronen Version der Methode sollte den aufrufenden Thread nicht blockieren.
Die Standardimplementierung dieser asynchronen Methode ruft das synchrone Gegenstück auf und gibt eine abgeschlossene Aufgabe zurück, die den aufrufenden Thread potenziell 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 E/A-Vorgängen überschreiben.
Diese Methode akzeptiert ein Abbruchtoken, mit dem der Vorgang frühzeitig abgebrochen werden kann. 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.