Udostępnij za pośrednictwem


SqlCommand.ExecuteScalarAsync(CancellationToken) Metoda

Definicja

Asynchroniczna wersja elementu ExecuteScalar() , która wykonuje zapytanie asynchronicznie i zwraca pierwszą kolumnę pierwszego wiersza w zestawie wyników zwróconym przez zapytanie. Dodatkowe kolumny lub wiersze są ignorowane.

Token anulowania może służyć do żądania, aby operacja została porzucona przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Task.

public:
 override System::Threading::Tasks::Task<System::Object ^> ^ ExecuteScalarAsync(System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<object> ExecuteScalarAsync (System.Threading.CancellationToken cancellationToken);
override this.ExecuteScalarAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<obj>
Public Overrides Function ExecuteScalarAsync (cancellationToken As CancellationToken) As Task(Of Object)

Parametry

cancellationToken
CancellationToken

Instrukcja anulowania.

Zwraca

Zadanie reprezentujące operację asynchroniczną.

Wyjątki

Nieprawidłowa CommandBehavior wartość.

Użyto SqlDbType wartości innej niż Binary lub VarBinary , gdy Value ustawiono wartość Stream . Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego SqlClient.

-lub-

Użyto SqlDbType wartości innej niż Char, NChar, NVarChar, VarChar lub Xml , gdy Value ustawiono wartość TextReader .

-lub-

Element SqlDbType inny niż Xml był używany, gdy Value został ustawiony na XmlReader wartość .

Wywołanie ExecuteScalarAsync(CancellationToken) więcej niż raz dla tego samego wystąpienia przed ukończeniem zadania.

-lub-

Zamknięty SqlConnection lub porzucony podczas operacji przesyłania strumieniowego. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego SqlClient.

SQL Server zwrócił błąd podczas wykonywania tekstu polecenia.

-lub-

Podczas operacji przesyłania strumieniowego wystąpiło przekroczenie limitu czasu. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego SqlClient.

Wystąpił błąd w StreamXmlReader obiekcie lub TextReader podczas operacji przesyłania strumieniowego. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego SqlClient.

XmlReader Obiekt Stream lub TextReader został zamknięty podczas operacji przesyłania strumieniowego. Aby uzyskać więcej informacji na temat przesyłania strumieniowego, zobacz Obsługa przesyłania strumieniowego SqlClient.

Uwagi

Aby uzyskać więcej informacji na temat programowania asynchronicznego w programie .NET Framework Data Provider for SQL Server, zobacz Asynchronous Programming (Programowanie asynchroniczne).

Uwaga

W przypadku długotrwałych zapytań na serwerze rozważ użycie ExecuteScalar z powodu znanego problemu z anulowaniem zapytań za pośrednictwem tokenu anulowania. Należy również rozważyć anulowanie wykonywania przy użyciu Cancel metody .

Dotyczy