Share via


DataReaderExtensions.IsDBNullAsync Metode

Definisi

Secara asinkron mendapatkan nilai yang menunjukkan apakah kolom berisi nilai yang tidak ada atau hilang.

public static System.Threading.Tasks.Task<bool> IsDBNullAsync (this System.Data.Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken = default);
static member IsDBNullAsync : System.Data.Common.DbDataReader * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
<Extension()>
Public Function IsDBNullAsync (reader As DbDataReader, name As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Parameter

reader
DbDataReader

Pembaca data untuk mendapatkan nilai kolom.

name
String

Nama kolom.

cancellationToken
CancellationToken

Token opsional untuk membatalkan operasi asinkron.

Mengembalikan

Properti Task<TResult> yang Result propertinya adalah true jika nilai kolom yang ditentukan setara dengan DBNull atau false jika tidak.

Pengecualian

Koneksi terputus atau ditutup selama pengambilan data.

-atau-

Pembaca data ditutup selama pengambilan data.

-atau-

Tidak ada data yang siap dibaca (misalnya, yang pertama Read() belum dipanggil, atau dikembalikan salah).

-atau-

Mencoba membaca kolom yang dibaca sebelumnya dalam mode berurutan.

-atau-

Ada operasi asinkron yang sedang berlangsung. Ini berlaku untuk semua metode Get* saat berjalan dalam mode berurutan, karena dapat dipanggil saat membaca aliran.

Nama yang ditentukan bukan nama kolom yang valid.

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Keterangan

Metode asinkron ini hanya diperlukan untuk menghindari pemblokiran utas panggilan ketika pembaca dibuat dalam mode berurutan.

Jika mode berurutan tidak ditentukan, semua nilai kolom harus tersedia dalam memori setiap kali ReadAsync selesai, dan memanggil versi sinkron metode tidak boleh memblokir utas panggilan.

Implementasi default metode asinkron ini memanggil rekan sinkronnya dan mengembalikan Tugas yang telah selesai, yang berpotensi memblokir utas panggilan. Implementasi default juga mengembalikan tugas yang dibatalkan jika melewati token pembatalan yang sudah dibatalkan.

Penyedia data yang mendukung pemrograman asinkron harus mengambil alih inmplementasi default menggunakan operasi I/O asinkron.

Metode ini menerima token pembatalan yang dapat digunakan untuk meminta operasi dibatalkan lebih awal. Implementasi dapat mengabaikan permintaan ini.

Metode dan properti lain dari objek DbDataReader tidak boleh dipanggil saat Tugas yang dikembalikan belum selesai.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh IsDBNull(DbDataReader, String).

Berlaku untuk