DbDataReader.GetFieldValueAsync Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Asynchroon haalt de waarde van de opgegeven kolom op als het aangevraagde type.
Overloads
| Name | Description |
|---|---|
| GetFieldValueAsync<T>(Int32) |
Asynchroon haalt de waarde van de opgegeven kolom op als het aangevraagde type. |
| GetFieldValueAsync<T>(Int32, CancellationToken) |
Asynchroon haalt de waarde van de opgegeven kolom op als het aangevraagde type. |
GetFieldValueAsync<T>(Int32)
Asynchroon haalt de waarde van de opgegeven kolom op als het aangevraagde type.
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)
Type parameters
- T
Het type van de waarde dat moet worden geretourneerd.
Parameters
- ordinal
- Int32
De op nul gebaseerde kolomordinaal.
Retouren
Een taak waarvan Result de waarde van de opgegeven kolom bevat.
Uitzonderingen
De verbinding is verbroken of gesloten tijdens het ophalen van gegevens.
– of –
De gegevenslezer is gesloten tijdens het ophalen van gegevens.
– of –
Er zijn geen gegevens die kunnen worden gelezen (de eerste Read() is bijvoorbeeld niet aangeroepen of geretourneerd false).
– of –
Er is geprobeerd een eerder gelezen kolom te lezen in de sequentiële modus.
– of –
Er is een asynchrone bewerking uitgevoerd. Dit geldt voor alle Get_*_-methoden bij het uitvoeren in de sequentiële modus, zoals ze kunnen worden aangeroepen tijdens het lezen van een stream.
De kolomindex valt buiten het bereik.
De waarde die door de database wordt geretourneerd, komt niet overeen of kan niet worden omgezet in T.
Opmerkingen
Deze asynchrone methode is alleen nodig om te voorkomen dat de aanroepende thread wordt geblokkeerd wanneer de lezer in de sequentiële modus wordt gemaakt.
Als de sequentiële modus niet is opgegeven, moeten alle kolomwaarden beschikbaar komen in het geheugen telkens wanneer ReadAsync is voltooid en moet het aanroepen van de synchrone versie van de methode de aanroepende thread niet blokkeren.
De standaardimplementatie van deze asynchrone methode roept de synchrone tegenhanger aan en retourneert een voltooide taak, waardoor de aanroepende thread mogelijk wordt geblokkeerd.
Gegevensproviders die asynchrone programmering ondersteunen, moeten de standaard implementatie overschrijven met behulp van asynchrone I/O-bewerkingen.
Andere methoden en eigenschappen van het DbDataReader-object mogen niet worden aangeroepen terwijl de geretourneerde taak nog niet is voltooid.
Van toepassing op
GetFieldValueAsync<T>(Int32, CancellationToken)
Asynchroon haalt de waarde van de opgegeven kolom op als het aangevraagde type.
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)
Type parameters
- T
Het type van de waarde dat moet worden geretourneerd.
Parameters
- ordinal
- Int32
De op nul gebaseerde kolomordinaal.
- cancellationToken
- CancellationToken
Een token om de asynchrone bewerking te annuleren.
Retouren
Een taak waarvan Result de waarde van de opgegeven kolom bevat.
Uitzonderingen
De verbinding is verbroken of gesloten tijdens het ophalen van gegevens.
– of –
De gegevenslezer is gesloten tijdens het ophalen van gegevens.
– of –
Er zijn geen gegevens die kunnen worden gelezen (de eerste Read() is bijvoorbeeld niet aangeroepen of geretourneerd false).
– of –
Er is geprobeerd een eerder gelezen kolom te lezen in de sequentiële modus.
– of –
Er is een asynchrone bewerking uitgevoerd. Dit geldt voor alle Get_*_-methoden bij het uitvoeren in de sequentiële modus, zoals ze kunnen worden aangeroepen tijdens het lezen van een stream.
De kolomindex valt buiten het bereik.
De waarde die door de database wordt geretourneerd, komt niet overeen of kan niet worden omgezet in T.
Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.
Opmerkingen
Deze asynchrone methode is alleen nodig om te voorkomen dat de aanroepende thread wordt geblokkeerd wanneer de lezer in de sequentiële modus wordt gemaakt.
Als de sequentiële modus niet is opgegeven, moeten alle kolomwaarden beschikbaar komen in het geheugen telkens wanneer ReadAsync is voltooid en moet het aanroepen van de synchrone versie van de methode de aanroepende thread niet blokkeren.
De standaardimplementatie van deze asynchrone methode roept de synchrone tegenhanger aan en retourneert een voltooide taak, waardoor de aanroepende thread mogelijk wordt geblokkeerd. De standaardimplementatie retourneert ook een geannuleerde taak als een al geannuleerd annuleringstoken is doorgegeven.
Gegevensproviders die asynchrone programmering ondersteunen, moeten de standaard implementatie overschrijven met behulp van asynchrone I/O-bewerkingen.
Deze methode accepteert een annuleringstoken dat kan worden gebruikt om de bewerking vroeg te annuleren. Implementaties kunnen deze aanvraag negeren.
Andere methoden en eigenschappen van het DbDataReader-object mogen niet worden aangeroepen terwijl de geretourneerde taak nog niet is voltooid.