SqlDataReader.GetSchemaTable Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine DataTable zurück, die die Spaltenmetadaten des SqlDataReader beschreibt.
public:
override System::Data::DataTable ^ GetSchemaTable();
public:
virtual System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable GetSchemaTable ();
public 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
Gibt zurück
Eine DataTable, die die Spaltenmetadaten beschreibt.
Implementiert
Ausnahmen
Der SqlDataReader ist geschlossen.
Hinweise
Die GetSchemaTable Methode gibt die folgenden Metadaten zu jeder Spalte zurück:
DataReader-Spalte | BESCHREIBUNG |
---|---|
AllowDBNull | Legen Sie fest, ob der Verbraucher die Spalte auf einen Nullwert festlegen kann oder der Anbieter nicht ermitteln kann, ob der Verbraucher die Spalte auf einen Nullwert festlegen kann. Andernfalls nicht festgelegt. Eine Spalte kann NULL-Werte enthalten, auch wenn sie nicht auf einen NULL-Wert 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 Nullwert, wenn der Basisspaltenname nicht bestimmt werden kann oder wenn die Rowsetspalte abgeleitet wird, aber nicht identisch mit einer Spalte im Datenspeicher. Der Standardwert dieser Spalte ist ein Nullwert. |
BaseSchemaName | Der Name des Schemas im Datenspeicher, das die Spalte enthält. Ein NULL-Wert, wenn der Name des Basisschemas nicht bestimmt werden kann. Der Standardwert dieser Spalte ist ein Nullwert. |
BaseServerName | Der Name der Instanz von Microsoft SQL Server, die von der SqlDataReader. |
BaseTableName | Der Name der Tabelle oder Ansicht im Datenspeicher, die die Spalte enthält. Ein NULL-Wert, wenn der Name der Basistabelle nicht bestimmt werden kann. Der Standardwert dieser Spalte ist ein Nullwert. |
ColumnName | Der Name der Spalte; Dies ist möglicherweise nicht eindeutig. Wenn sie nicht bestimmt werden kann, wird ein NULL-Wert zurückgegeben. Dieser Name gibt den aktuellen Stand der Umbenennung der Spalte im aktuellen Ansichts- oder Befehlstext wieder. |
ColumnOrdinal | Die nullbasierte Ordnungszahl der Spalte. Diese Spalte kann keinen NULL-Wert enthalten. |
ColumnSize | Die maximale 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. varchar(MAX)``varbinary(MAX) Bei nvarchar(MAX) in einer SQL Server Datenbank gespeicherten Spalten beträgt die maximale Größe 2 GB. Wenn diese Spalten als Dateien gespeichert und zugegriffen werden, wird der Grenzwert für die maximale Größe durch das Dateisystem auferlegt. Dieser Wert ändert sich beim Verwenden des Type System Version Schlüsselworts in der Verbindungszeichenfolge. Für neue Typen werden sie als Downleveltypen 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 keine Werte neuen Zeilen in festen Schritten zu. Der Standardwert für diese Spalte ist false . |
IsColumnSet | true : Die Spalte ist eine geringe Spalte, die ein Element eines Spaltensatzes ist. |
IsExpression | true : Die Spalte ist ein Ausdruck.false : Die Spalte ist kein Ausdruck. |
IsHidden | 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 eine der Spalten im Rowset, die zusammengenommen und eindeutig die Zeile identifizieren. Die Gruppe der Spalten, bei denen IsKey auf true festgelegt ist, muss eine Zeile im Rowset eindeutig identifizieren. Es ist nicht erforderlich, dass es sich bei dieser Menge Spalten um eine minimale Spaltenmenge handelt. Diese Spaltenmenge kann aus einem Primärschlüssel der Basistabelle, einer eindeutigen Bedingung oder einem eindeutigen Index gebildet werden.false : Die Spalte ist nicht erforderlich, um die Zeile eindeutig zu identifizieren. |
IsLong | true : Die Spalte enthält ein Binäres Long-Objekt (BLOB), das sehr lange Daten enthält. Die Definition dessen, was als sehr umfangreiche Daten gilt, ist anbieterspezifisch.false : Die Spalte enthält kein Binäres Long-Objekt (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 bezeichner für beständigen Zeilen, der nicht geschrieben werden kann, und hat keinen aussagekräftigen Wert außer 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 von der in der Verbindungszeichenfolge angegebenen Aktuellen Type System Version . 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, beträgt dies 255. |
NumericScale | Wenn ProviderType DBTYPE_DECIMAL oder DBTYPE_NUMERIC ist, wird die Anzahl der Ziffern rechts neben dem Dezimalpunkt angezeigt. Andernfalls ist dies 255. |
ProviderSpecificDataType | Gibt den anbieterspezifischen Datentyp der Spalte basierend auf dem Type System Version Schlüsselwort in der Verbindungszeichenfolge zurück. |
ProviderType | Der Zähler des Datentyps der Spalte. Wenn der Datentyp der Spalte von Zeile zu Zeile variiert, muss dies "Object" sein. Diese Spalte kann 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 Schemasammlung 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 innerhalb der aktuellen Datenbank definiert ist. Es ist auch null, wenn keine Schemaauflistung vorhanden ist, in diesem Fall sind auch die XmlSchemaCollectionName Spalten XmlSchemaCollectionOwningSchema 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 Schemasammlung vorhanden ist. Wenn der Wert null ist, sind die XmlSchemaCollectionDatabase Spalten XmlSchemaCollectionOwningSchema ebenfalls null. |
XmlSchemaCollectionOwningSchema | Das eigene relationale Schema, in dem sich die Schemasammlung 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 innerhalb der aktuellen Datenbank definiert ist. Es ist auch null, wenn keine Schemaauflistung vorhanden ist, in diesem Fall sind auch die XmlSchemaCollectionDatabase Spalten XmlSchemaCollectionName null. |
Hinweis
Um sicherzustellen, dass Metadatenspalten die richtigen Informationen zurückgeben, müssen Sie den Parameter aufrufen ExecuteReader , auf den behavior
festgelegt KeyInfo
ist. Andernfalls können einige der Spalten in der Schematabelle Standardmäßige, Null oder falsche Daten zurückgeben.