SqlDataReader.GetSchemaTable Methode

Definition

Gibt einen DataTable Wert zurück, der die Spaltenmetadaten der SqlDataReader.

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

Gibt zurück

Eine DataTable , die die Spaltenmetadaten beschreibt.

Implementiert

Ausnahmen

Hinweise

Die GetSchemaTable Methode gibt die folgenden Metadaten zu jeder Spalte zurück:

DataReader-Spalte Beschreibung
Allowdbnull Legen Sie fest, ob der Consumer die Spalte auf einen Nullwert festlegen kann oder ob der Anbieter nicht ermitteln kann, ob der Consumer die Spalte auf einen Nullwert festlegen kann. Andernfalls nicht festgelegt. Eine Spalte kann Nullwerte enthalten, auch wenn sie nicht auf einen Nullwert festgelegt werden kann.
BaseCatalogName Der Name des Katalogs im Datenspeicher, der die Spalte enthält. NULL, wenn der Basiskatalogname nicht bestimmt werden kann. Der Standardwert dieser Spalte ist ein Nullwert.
BaseColumnName Der Name der Spalte im Datenspeicher. Dies kann anders sein als der Spaltenname, der in der Spalte "ColumnName" zurückgegeben wird, wenn ein Alias verwendet wurde. Ein NULL-Wert, wenn der Name der Basisspalte nicht bestimmt werden kann oder wenn die Rowsetspalte abgeleitet ist, jedoch nicht identisch mit einer Spalte im Datenspeicher. Der Standardwert dieser Spalte ist ein Nullwert.
BaseSchemaName Der Name des Schemas im Datenspeicher, der die Spalte enthält. Ein NULL-Wert, wenn der Basisschemaname nicht bestimmt werden kann. Der Standardwert dieser Spalte ist ein Nullwert.
BaseServerName Der Name der Instanz von Microsoft SQL Server, die vom SqlDataReader verwendet wird.
BaseTableName Der Name der Tabelle oder Ansicht im Datenspeicher, die die Spalte enthält. Ein NULL-Wert, wenn der Basistabellenname nicht bestimmt werden kann. Der Standardwert dieser Spalte ist ein Nullwert.
ColumnName Der Name der Spalte; dies ist möglicherweise nicht eindeutig. Wenn dies nicht bestimmt werden kann, wird ein NULL-Wert zurückgegeben. Dieser Name spiegelt immer die letzte Umbenennung der Spalte in der aktuellen Ansicht oder dem Befehlstext wider.
ColumnOrdinal Die nullbasierte Ordnungszahl der Spalte. Diese Spalte darf keinen NULL-Wert enthalten.
Spaltengröße Die maximal mögliche Länge eines Werts in der Spalte. Bei Spalten, die einen Datentyp mit fester Länge verwenden, ist dies die Größe des Datentyps. Für nvarchar(MAX), varchar(MAX) und varbinary(MAX) Spalten, die in einer SQL Server Datenbank gespeichert sind, beträgt die maximale Größe 2 GB. Wenn diese Spalten als Dateien gespeichert und aufgerufen werden, wird der Grenzwert für die maximale Größe durch das Dateisystem auferlegt. Dieser Wert ändert sich bei Verwendung des Schlüsselworts Type System Version im Verbindungszeichenfolge. Für neue Typen werden sie als Abwärtsebenentypen dargestellt. Die MAX-Datentypen geben die normale 4k für nvarchar und 8000 für varchar. Weitere Informationen finden Sie in der Transact-SQL Referenz.
DataTypeName Gibt eine Zeichenfolge zurück, die den Datentyp der angegebenen Spalte darstellt.
IsAliased true: Der Spaltenname ist ein Alias.

false: Der Spaltenname ist kein Alias.
IsAutoIncrement true: Die Spalte weist neuen Zeilen in festen Schritten Werte zu.

false: Die Spalte weist neuen Zeilen in festen Schritten keine Werte zu. Der Standardwert dieser Spalte ist false.
IsColumnSet true: Die Spalte ist eine geringe Spalte, die ein Element einer Spaltenmenge ist.
IsExpression true: Die Spalte ist ein Ausdruck.

false: Die Spalte ist kein Ausdruck.
IstVerborgen true: Die Spalte ist ausgeblendet.

false: Die Spalte ist nicht ausgeblendet.
IsIdentity true: Die Spalte ist eine Identitätsspalte.

false: Die Spalte ist keine Identitätsspalte.
Iskey true: Die Spalte ist einer der Spalten im Rowset, die zusammengenommen die Zeile eindeutig identifizieren. Der Satz von Spalten, IsKey für die festgelegt ist, true muss eine Zeile im Rowset eindeutig identifizieren. Es ist nicht erforderlich, dass dieser Satz von Spalten ein minimaler Satz von Spalten ist. Dieser Satz von Spalten kann aus einem Basistabellen-Primärschlüssel, einer eindeutigen Einschränkung oder einem eindeutigen Index generiert werden.

false: Die Spalte ist nicht erforderlich, um die Zeile eindeutig zu identifizieren.
IsLong true: Die Spalte enthält ein Binary Long Object (BLOB), das sehr lange Daten enthält. Die Definition von sehr langen Daten ist anbieterspezifisch.

false: Die Spalte enthält kein Binary Long Object (BLOB), das sehr lange Daten enthält.
IsReadOnly true: Die Spalte kann nicht geändert werden.

false: Die Spalte kann geändert werden.
IsRowVersion true: Die Spalte enthält einen persistenten Zeilenbezeichner, der nicht in die Zeile geschrieben werden kann und keinen aussagekräftigen Wert aufweist, mit Ausnahme der Identität der Zeile.

false: Die Spalte enthält keinen persistenten Zeilenbezeichner, der nicht geschrieben werden kann, und hat keinen aussagekräftigen Wert außer der Identität der Zeile.
IsUnique true: Spalte ist vom Typ timestamp.

false: Spalte ist nicht vom Typ timestamp.
NonVersionedProviderType Der Typ der Spalte unabhängig vom aktuellen Type System Version in der Verbindungszeichenfolge angegeben. Der zurückgegebene Wert stammt aus der SqlDbType Enumeration.
NumericPrecision Wenn ProviderType es sich um einen numerischen Datentyp handelt, ist dies die maximale Genauigkeit der Spalte. Die Genauigkeit hängt von der Definition der Spalte ab. Wenn ProviderType es sich nicht um einen numerischen Datentyp handelt, ist dies 255.
NumericScale Wenn ProviderType DBTYPE_DECIMAL oder DBTYPE_NUMERIC ist, wird rechts neben dem Dezimalkomma die Anzahl der Ziffern angegeben. Andernfalls ist dies 255.
ProviderSpecificDataType Gibt den anbieterspezifischen Datentyp der Spalte basierend auf dem Schlüsselwort Type System Version im Verbindungszeichenfolge zurück.
ProviderType Der Indikator des Datentyps der Spalte. Wenn der Datentyp der Spalte von Zeile zu Zeile variiert, muss dies "Object" sein. Diese Spalte darf keinen NULL-Wert enthalten.
UdtAssemblyQualifiedName Wenn es sich bei der Spalte um einen benutzerdefinierten Typ (UDT) handelt, ist dies der qualifizierte Name der UDT-Assembly gemäß AssemblyQualifiedName. Wenn die Spalte kein UDT ist, ist dies null.
XmlSchemaCollectionDatabase Der Name der Datenbank, in der sich die Schemaauflistung für diese XML-Instanz befindet, wenn die Zeile Informationen zu einer XML-Spalte enthält. Dieser Wert ist null (Nothing in Visual Basic), wenn die Auflistung in der aktuellen Datenbank definiert ist. Es ist auch NULL, wenn keine Schemaauflistung vorhanden ist, in diesem Fall sind die XmlSchemaCollectionName Spalten XmlSchemaCollectionOwningSchema ebenfalls NULL.
Xmlschemacollectionname Der Name der Schemaauflistung für diese XML-Instanz, wenn die Zeile Informationen zu einer XML-Spalte enthält. Dieser Wert ist null (Nothing in Visual Basic), wenn keine zugeordnete Schemaauflistung vorhanden ist. Wenn der Wert null ist, sind die XmlSchemaCollectionDatabase Spalten XmlSchemaCollectionOwningSchema ebenfalls NULL.
XmlSchemaCollectionOwningSchema Das eigene relationale Schema, in dem sich die Schemaauflistung für diese XML-Instanz befindet, wenn die Zeile Informationen zu einer XML-Spalte enthält. Dieser Wert ist null (Nothing in Visual Basic), wenn die Auflistung in der aktuellen Datenbank definiert ist. Es ist auch NULL, wenn keine Schemaauflistung vorhanden ist, in diesem Fall sind die XmlSchemaCollectionDatabase Spalten XmlSchemaCollectionName ebenfalls NULL.

Note

Um sicherzustellen, dass Metadatenspalten die richtigen Informationen zurückgeben, müssen Sie den Parameter aufrufenExecuteReader, auf KeyInfoden behavior sie festgelegt ist. Andernfalls geben einige spalten in der Schematabelle möglicherweise Standard-, NULL- oder falsche Daten zurück.

Gilt für:

Weitere Informationen