OleDbDataReader.GetSchemaTable Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
Sudah OleDbDataReader ditutup.
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.