OleDbDataReader.GetSchemaTable Yöntem

Tanım

sütun meta verilerini DataTableaçıklayan bir OleDbDataReader döndürür.

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

Döndürülenler

DataTable Sütun meta verilerini açıklayan.

Uygulamalar

Özel durumlar

Açıklamalar

GetSchemaTable yöntemi OLE DB IColumnsRowset::GetColumnsRowset yöntemiyle eşler ve her sütunla ilgili meta verileri aşağıdaki sırayla döndürür:

DataReader sütunu OLE DB sütun kimliği Description
ColumnName DBCOLUMN_NAME Sütunun adı; bu benzersiz olmayabilir. Bu belirlenemezse, null bir değer döndürülür. Bu ad her zaman geçerli görünümde veya komut metninde sütunun en son yeniden adlandırmasını yansıtır.
ColumnOrdinal DBCOLUMN_NUMBER Sütunun sıfır tabanlı sıralı. Bu sütun null değer içeremez.
Sütun Boyutu DBCOLUMN_COLUMNSIZE Sütundaki bir değerin mümkün olan en uzun uzunluğu. Sabit uzunlukta veri türü kullanan sütunlar için bu, veri türünün boyutudur.
Numericprecision DBCOLUMN_PRECISION DbType sayısal bir veri türüyse bu, sütunun en yüksek duyarlığıdır. veri türü DBTYPE_DECIMAL veya DBTYPE_NUMERIC olan sütunların duyarlığı, sütunun tanımına bağlıdır. DbType sayısal bir veri türü değilse, bu bir null değerdir.
Numericscale DBCOLUMN_SCALE DbType DBTYPE_DECIMAL veya DBTYPE_NUMERIC ise, bu ondalık ayırıcının sağındaki basamak sayısıdır. Aksi takdirde, bu null bir değerdir.
VeriTürü Hiçbiri Sütunun .NET türüyle eşler.
ProviderType DBCOLUMN_TYPE Sütunun veri türünün göstergesi. Sütunun veri türü satırdan satıra değişiyorsa, bu DBTYPE_VARIANT olmalıdır. Bu sütun null değer içeremez.
IsLong DBCOLUMNFLAGS_ISLONG Sağlayıcı, sütunda çok uzun veriler içeren bir İkili Uzun Nesne (BLOB) varsa DBCOLUMNFLAGS_ISLONG ayarlar. Çok uzun verilerin tanımı sağlayıcıya özgüdür. Bu bayrağın ayarı, veri türü için PROVIDER_TYPES satır kümesindeki IS_LONG sütununun değerine karşılık gelir.
Allowdbnull DBCOLUMNFLAGS_ISNULLABLE Sağlayıcı, tüketici sütunu null değere ayarlayıp ayarlayamadığı veya sağlayıcının sütunu null değere ayarlayıp ayarlayamayacağını belirleyemediği DBCOLUMNFLAGS_ISNULLABLE ayarlar. Bir sütun null değere ayarlanamasa bile null değerler içerebilir.
IsReadOnly DBCOLUMNFLAGS_WRITE true sütun değiştirilemiyorsa; aksi takdirde false. Sağlayıcı DBCOLUMNFLAGS_WRITE veya DBCOLUMNFLAGS_WRITEUNKNOWN bayrağını ayarlamışsa sütunun yazılabilir olduğu varsayılır.
IsRowVersion DBCOLUMNFLAGS_ISROWID Sağlayıcı, sütunda yazılamayan kalıcı bir satır tanımlayıcısı varsa ve satırın kimliğini belirleme dışında anlamlı bir değeri yoksa DBCOLUMNFLAGS_ISROWID ayarlar.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE: BaseTableName içinde döndürülen temel tablodaki iki satır, bu sütunda aynı değere sahip olamaz. Sütunun tek başına bir anahtarı temsil ettiği veya yalnızca bu sütun için geçerli olan UNIQUE türünde bir kısıtlama varsa IsUnique'in VARIANT_TRUE olması garanti edilir.

VARIANT_FALSE: Sütun, temel tabloda yinelenen değerler içerebilir. Bu sütunun varsayılanı VARIANT_FALSE.
Iskey DBCOLUMN_KEYCOLUMN VARIANT_TRUE: Sütun, satır kümesinde bir araya gelen ve satırı benzersiz olarak tanımlayan bir sütun kümesidir. IsKey değeri VARIANT_TRUE olarak ayarlanmış sütun kümesinin satır kümesindeki bir satırı benzersiz olarak tanımlaması gerekir. Bu sütun kümesinin en az sayıda sütun olması gerekmez. Bu sütun kümesi temel tablo birincil anahtarından, benzersiz bir kısıtlamadan veya benzersiz bir dizinden oluşturulabilir.

VARIANT_FALSE: Sütunun satırı benzersiz olarak tanımlaması gerekmez.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE: Sütun, değerleri sabit artışlarla yeni satırlara atar.

VARIANT_FALSE: Sütun, sabit artışlarla yeni satırlara değer atamaz. Bu sütunun varsayılanı VARIANT_FALSE.
BaseSchemaName DBCOLUMN_BASESCHEMANAME Sütunu içeren veri deposundaki şemanın adı. Temel şema adı belirlenemiyorsa null değer. Bu sütunun varsayılan değeri null değerdir.
BaseCatalogName DBCOLUMN_BASECATALOGNAME Sütunu içeren veri deposundaki kataloğun adı. Temel katalog adı belirlenemiyorsa null değer. Bu sütunun varsayılan değeri null değerdir.
BaseTableName DBCOLUMN_BASETABLENAME Sütunu içeren veri deposundaki tablonun veya görünümün adı. Temel tablo adı belirlenemiyorsa null değer. Bu sütunun varsayılan değeri null değerdir.
BaseColumnName DBCOLUMN_BASECOLUMNNAME Veri deposundaki sütunun adı. Diğer ad kullanıldıysa bu, ColumnName sütununda döndürülen sütun adından farklı olabilir. Temel sütun adı belirlenemiyorsa veya satır kümesi sütunu türetildiyse ancak veri deposundaki bir sütunla aynı değilse null değer. Bu sütunun varsayılan değeri null değerdir.

Note

Meta veri sütunlarının doğru bilgileri döndürdiğinden emin olmak için parametresi olarak ayarlanmış KeyInfoolarak çağırmalısınız.ExecuteReaderbehavior Aksi takdirde, şema tablosundaki sütunlardan bazıları varsayılan, null veya yanlış veri döndürebilir.

Şunlara uygulanır

Ayrıca bkz.