Share via


OleDbDataReader.GetSchemaTable Metode

Definisi

Mengembalikan yang DataTable menjelaskan metadata kolom dari OleDbDataReader.

public:
 override System::Data::DataTable ^ GetSchemaTable();
public:
 virtual System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable? GetSchemaTable ();
public System.Data.DataTable GetSchemaTable ();
public override System.Data.DataTable GetSchemaTable ();
override this.GetSchemaTable : unit -> System.Data.DataTable
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Overrides Function GetSchemaTable () As DataTable
Public Function GetSchemaTable () As DataTable

Mengembalikan

DataTable yang menjelaskan metadata kolom.

Penerapan

Pengecualian

Keterangan

Metode memetakan GetSchemaTable ke metode OLE DB IColumnsRowset::GetColumnsRowset , dan mengembalikan metadata tentang setiap kolom dalam urutan berikut:

Kolom DataReader ID kolom OLE DB Deskripsi
ColumnName DBCOLUMN_NAME Nama kolom; ini mungkin tidak unik. Jika ini tidak dapat ditentukan, nilai null dikembalikan. Nama ini selalu mencerminkan penggantian nama kolom terbaru dalam tampilan atau teks perintah saat ini.
ColumnOrdinal DBCOLUMN_NUMBER Ordinal kolom berbasis nol. Kolom ini tidak boleh berisi nilai kosong.
ColumnSize DBCOLUMN_COLUMNSIZE Panjang maksimum nilai yang mungkin dalam kolom. Untuk kolom yang menggunakan jenis data dengan panjang tetap, ini adalah ukuran jenis data.
NumericPrecision DBCOLUMN_PRECISION Jika DbType adalah jenis data numerik, ini adalah presisi maksimum kolom. Presisi kolom dengan jenis data DBTYPE_DECIMAL atau DBTYPE_NUMERIC bergantung pada definisi kolom. Jika DbType bukan tipe data numerik, ini adalah nilai null.
NumericScale DBCOLUMN_SCALE Jika DbType DBTYPE_DECIMAL atau DBTYPE_NUMERIC, ini adalah jumlah digit di sebelah kanan titik desimal. Jika tidak, ini adalah nilai null.
DataType Tidak ada Memetakan ke jenis kolom .NET Framework.
ProviderType DBCOLUMN_TYPE Indikator jenis data kolom. Jika jenis data kolom bervariasi dari baris ke baris, ini harus DBTYPE_VARIANT. Kolom ini tidak boleh berisi nilai kosong.
IsLong DBCOLUMNFLAGS_ISLONG Penyedia mengatur DBCOLUMNFLAGS_ISLONG jika kolom berisi Objek Panjang Biner (BLOB) yang berisi data yang sangat panjang. Definisi data yang sangat panjang khusus untuk penyedia. Pengaturan bendera ini sesuai dengan nilai kolom IS_LONG di kumpulan baris PROVIDER_TYPES untuk jenis data.
AllowDBNull DBCOLUMNFLAGS_ISNULLABLE Penyedia menetapkan DBCOLUMNFLAGS_ISNULLABLE apakah konsumen dapat mengatur kolom ke nilai null, atau jika penyedia tidak dapat menentukan apakah konsumen dapat mengatur kolom ke nilai null. Kolom mungkin berisi nilai null, meskipun tidak dapat diatur ke nilai null.
IsReadOnly DBCOLUMNFLAGS_WRITE true jika kolom tidak dapat dimodifikasi; jika tidak false. Kolom diasumsikan dapat ditulis jika penyedia telah mengatur bendera DBCOLUMNFLAGS_WRITE atau DBCOLUMNFLAGS_WRITEUNKNOWN.
IsRowVersion DBCOLUMNFLAGS_ISROWID Penyedia mengatur DBCOLUMNFLAGS_ISROWID jika kolom berisi pengidentifikasi baris persisten yang tidak dapat ditulis, dan tidak memiliki nilai yang bermakna kecuali untuk identitas baris.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE: Tidak ada dua baris dalam tabel dasar-tabel yang dikembalikan di BaseTableName-dapat memiliki nilai yang sama di kolom ini. IsUnique dijamin VARIANT_TRUE jika kolom mewakili kunci dengan sendirinya atau jika ada batasan jenis UNIQUE yang hanya berlaku untuk kolom ini.

VARIANT_FALSE: Kolom dapat berisi nilai duplikat dalam tabel dasar. Default kolom ini adalah VARIANT_FALSE.
IsKey DBCOLUMN_KEYCOLUMN VARIANT_TRUE: Kolom adalah salah satu dari sekumpulan kolom dalam set baris yang, disatukan, secara unik mengidentifikasi baris. Kumpulan kolom dengan IsKey yang diatur ke VARIANT_TRUE harus secara unik mengidentifikasi baris dalam set baris. Tidak ada persyaratan bahwa kumpulan kolom ini adalah sekumpulan kolom minimal. Kumpulan kolom ini dapat dihasilkan dari kunci primer tabel dasar, batasan unik, atau indeks unik.

VARIANT_FALSE: Kolom tidak diperlukan untuk mengidentifikasi baris secara unik.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE: Kolom menetapkan nilai ke baris baru dengan kenaikan tetap.

VARIANT_FALSE: Kolom tidak menetapkan nilai ke baris baru dengan kenaikan tetap. Default kolom ini adalah VARIANT_FALSE.
BaseSchemaName DBCOLUMN_BASESCHEMANAME Nama skema di penyimpanan data yang berisi kolom . Nilai null jika nama skema dasar tidak dapat ditentukan. Default kolom ini adalah nilai null.
BaseCatalogName DBCOLUMN_BASECATALOGNAME Nama katalog di penyimpanan data yang berisi kolom . Nilai null jika nama katalog dasar tidak dapat ditentukan. Default kolom ini adalah nilai null.
BaseTableName DBCOLUMN_BASETABLENAME Nama tabel atau tampilan di penyimpanan data yang berisi kolom. Nilai null jika nama tabel dasar tidak dapat ditentukan. Default kolom ini adalah nilai null.
BaseColumnName DBCOLUMN_BASECOLUMNNAME Nama kolom di penyimpanan data. Ini mungkin berbeda dari nama kolom yang dikembalikan di kolom ColumnName jika alias digunakan. Nilai null jika nama kolom dasar tidak dapat ditentukan atau jika kolom set baris diturunkan, tetapi tidak identik dengan, kolom di penyimpanan data. Default kolom ini adalah nilai null.

Catatan

Untuk memastikan bahwa kolom metadata mengembalikan informasi yang benar, Anda harus memanggil ExecuteReader dengan parameter yang behavior diatur ke KeyInfo. Jika tidak, beberapa kolom dalam tabel skema dapat mengembalikan data default, null, atau salah.

Berlaku untuk

Lihat juga