SqlDataReader.GetSchemaTable Methode

Definition

Gibt eine DataTable zurück, die die Spaltenmetadaten des SqlDataReader beschreibt.Returns a DataTable that describes the column metadata of the SqlDataReader.

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

DataTable

Eine DataTable, die die Spaltenmetadaten beschreibt.A DataTable that describes the column metadata.

Implementiert

Ausnahmen

Der SqlDataReader ist geschlossen.The SqlDataReader is closed.

Hinweise

Für die- GetSchemaTable Methode gibt Metadaten zu jeder Spalte in der folgenden Reihenfolge zurück:For the GetSchemaTable method returns metadata about each column in the following order:

DataReader-SpalteDataReader column BESCHREIBUNGDescription
AllowDBNullAllowDBNull Legen Sie fest, ob der Consumer die Spalte auf einen NULL-Wert festlegen kann oder ob der Anbieter nicht bestimmen kann, ob der Consumer die Spalte auf einen NULL-Wert festlegen kann.Set if the consumer can set the column to a null value or if the provider cannot determine whether the consumer can set the column to a null value. Andernfalls nicht festgelegt.Otherwise, not set. Eine Spalte kann NULL-Werte enthalten, auch wenn sie nicht auf einen NULL-Wert festgelegt werden kann.A column may contain null values, even if it cannot be set to a null value.
BaseCatalogNameBaseCatalogName Der Name des Katalogs im Datenspeicher, der die Spalte enthält.The name of the catalog in the data store that contains the column. NULL, wenn der Name des Basis Katalogs nicht bestimmt werden kann.NULL if the base catalog name cannot be determined. Der Standardwert dieser Spalte ist ein NULL-Wert.The default of this column is a null value.
BaseColumnNameBaseColumnName Der Name der Spalte im Datenspeicher.The name of the column in the data store. Dies kann sich von dem in der ColumnName-Spalte zurückgegebenen Spaltennamen unterscheiden, wenn ein Alias verwendet wurde.This might be different than the column name returned in the ColumnName column if an alias was used. Ein NULL-Wert, wenn der Name der Basis Spalte nicht bestimmt werden kann oder wenn die Rowsetspalte abgeleitet ist, aber nicht mit einer Spalte im Datenspeicher identisch ist.A null value if the base column name cannot be determined or if the rowset column is derived, but not identical to, a column in the data store. Der Standardwert dieser Spalte ist ein NULL-Wert.The default of this column is a null value.
BaseSchemaNameBaseSchemaName Der Name des Schemas im Datenspeicher, das die Spalte enthält.The name of the schema in the data store that contains the column. Ein NULL-Wert, wenn der Name des Basisschemas nicht bestimmt werden kann.A null value if the base schema name cannot be determined. Der Standardwert dieser Spalte ist ein NULL-Wert.The default of this column is a null value.
BaseServerNameBaseServerName Der Name der Instanz von, die vom verwendet Microsoft SQL Server SqlDataReader .The name of the instance of Microsoft SQL Server used by the SqlDataReader.
BaseTableNameBaseTableName Der Name der Tabelle oder Ansicht im Datenspeicher, die die Spalte enthält.The name of the table or view in the data store that contains the column. Ein NULL-Wert, wenn der Name der Basistabelle nicht bestimmt werden kann.A null value if the base table name cannot be determined. Der Standardwert dieser Spalte ist ein NULL-Wert.The default of this column is a null value.
ColumnNameColumnName Der Name der Spalte. Dies ist möglicherweise nicht eindeutig.The name of the column; this might not be unique. Wenn sie nicht bestimmt werden kann, wird ein NULL-Wert zurückgegeben.If this cannot be determined, a null value is returned. Dieser Name gibt den aktuellen Stand der Umbenennung der Spalte im aktuellen Ansichts- oder Befehlstext wieder.This name always reflects the most recent renaming of the column in the current view or command text.
ColumnOrdinalColumnOrdinal Die nullbasierte Ordnungszahl der Spalte.The zero-based ordinal of the column. Diese Spalte kann keinen NULL-Wert enthalten.This column cannot contain a null value.
ColumnSizeColumnSize Die maximal mögliche Länge eines Werts in der Spalte.The maximum possible length of a value in the column. Bei Spalten, die einen Datentyp mit fester Länge verwenden, ist dies die Größe des Datentyps.For columns that use a fixed-length data type, this is the size of the data type. 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.For nvarchar(MAX), varchar(MAX), and varbinary(MAX) columns stored in a SQL Server database, the maximum size is 2GB. Wenn diese Spalten gespeichert sind und als Dateien darauf zugegriffen wird, wird der Grenzwert für die maximale Größe vom Dateisystem festgelegt.If these columns are stored and accessed as files, the limit on maximum size is imposed by the file system. Dieser Wert ändert sich, wenn das Type System Version Schlüsselwort in der Verbindungs Zeichenfolge verwendet wird.This value changes when using the Type System Version keyword in the connection string. Bei neuen Typen werden Sie als downleveltypen dargestellt.For new types they are represented as downlevel types. Die MAX-Datentypen geben das normale 4K für nvarchar und 8000 für zurück varchar .The MAX data types return the normal 4k for nvarchar and 8000 for varchar. Weitere Informationen finden Sie in der Transact-SQL-Referenz.For more information, see the Transact-SQL reference.
DataTypeNameDataTypeName Gibt eine Zeichenfolge zurück, die den Datentyp der angegebenen Spalte darstellt.Returns a string representing the data type of the specified column.
IsaliasIsAliased true: Der Spaltenname ist ein Alias.true: The column name is an alias.

false: Der Spaltenname ist kein Alias.false: The column name is not an alias.
IsAutoIncrementIsAutoIncrement true: Die Spalte weist neuen Zeilen in fester Inkrementen Werte zu.true: The column assigns values to new rows in fixed increments.

false: Die Spalte weist neuen Zeilen in fester Inkrementen keine Werte zu.false: The column does not assign values to new rows in fixed increments. Der Standardwert für diese Spalte ist false.The default of this column is false.
IsColumnSetIsColumnSet true: Die Spalte ist eine sparsespalte, die ein Member eines Spalten Satzes ist.true: The column is a sparse column that is a member of a column set.
IstausdruckIsExpression true: Die Spalte ist ein Ausdruck.true: The column is an expression.

false: Die Spalte ist kein Ausdruck.false: The column is not an expression.
IsHiddenIsHidden true: Die Spalte ist ausgeblendet.true: The column is hidden.

false: Die Spalte ist nicht ausgeblendet.false: The column is not hidden.
IsIdentityIsIdentity true: Die Spalte ist eine Identitäts Spalte.true: The column is an identity column.

false: Die Spalte ist keine Identitäts Spalte.false: The column is not an identity column.
IsKeyIsKey true: Die Spalte ist einer der Spalten im Rowset, die die Zeile eindeutig identifizieren.true: The column is one of a set of columns in the rowset that, taken together, uniquely identify the row. Die Gruppe der Spalten, bei denen IsKey auf true festgelegt ist, muss eine Zeile im Rowset eindeutig identifizieren.The set of columns with IsKey set to true must uniquely identify a row in the rowset. Es ist nicht erforderlich, dass es sich bei dieser Menge Spalten um eine minimale Spaltenmenge handelt.There is no requirement that this set of columns is a minimal set of columns. Diese Spaltenmenge kann aus einem Primärschlüssel der Basistabelle, einer eindeutigen Bedingung oder einem eindeutigen Index gebildet werden.This set of columns may be generated from a base table primary key, a unique constraint or a unique index.

false: Die Spalte ist nicht erforderlich, um die Zeile eindeutig zu identifizieren.false: The column is not required to uniquely identify the row.
IsLongIsLong true: Die Spalte enthält ein binäres Long-Objekt (BLOB), das sehr lange Daten enthält.true: The column contains a Binary Long Object (BLOB) that contains very long data. Die Definition dessen, was als sehr umfangreiche Daten gilt, ist anbieterspezifisch.The definition of very long data is provider-specific.

false: Die Spalte enthält kein Binary Long Object (BLOB), das sehr lange Daten enthält.false: The column does not contain a Binary Long Object (BLOB) that contains very long data.
IsReadOnlyIsReadOnly true: Die Spalte kann nicht geändert werden.true: The column cannot be modified.

false: Die Spalte kann geändert werden.false: The column can be modified.
IsRowVersionIsRowVersion true: Die Spalte enthält einen beständigen Zeilen Bezeichner, in den nicht geschrieben werden kann, und hat keinen sinnvollen Wert, außer der Identität der Zeile.true: The column contains a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row.

false: Die Spalte enthält keinen persistenten Zeilen Bezeichner, in den nicht geschrieben werden kann, und hat keinen sinnvollen Wert, außer der Identität der Zeile.false: The column does not contain a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row.
IsUniqueIsUnique true: Die Spalte weist den Typ auf timestamp .true: Column is of type timestamp.

false: Die Spalte ist nicht vom Typ timestamp .false: Column is not of type timestamp.
Nicht versionedprovidertypeNonVersionedProviderType Der Typ der Spalte, unabhängig vom aktuellen, der Type System Version in der Verbindungs Zeichenfolge angegeben ist.The type of the column irrespective of the current Type System Version specified in the connection string. Der zurückgegebene Wert ist aus der- SqlDbType Enumeration.The returned value is from the SqlDbType enumeration.
NumericPrecisionNumericPrecision Wenn ProviderType ein numerischer Datentyp ist, ist dies die maximale Genauigkeit der Spalte.If ProviderType is a numeric data type, this is the maximum precision of the column. Die Genauigkeit hängt von der Definition der Spalte ab.The precision depends on the definition of the column. Wenn ProviderType kein numerischer Datentyp ist, ist dies 255.If ProviderType is not a numeric data type, this is 255.
NumericScaleNumericScale Wenn ProviderType DBTYPE_DECIMAL oder DBTYPE_NUMERIC ist, die Anzahl der Ziffern rechts vom Dezimaltrennzeichen.If ProviderType is DBTYPE_DECIMAL or DBTYPE_NUMERIC, the number of digits to the right of the decimal point. Andernfalls ist dies 255.Otherwise, this is 255.
ProviderSpecificDataTypeProviderSpecificDataType Gibt den anbieterspezifischen Datentyp der Spalte auf Grundlage des Type System Version Schlüssel Worts in der Verbindungs Zeichenfolge zurück.Returns the provider-specific data type of the column based on the Type System Version keyword in the connection string.
ProviderTypeProviderType Der Zähler des Datentyps der Spalte.The indicator of the column's data type. Wenn sich der Datentyp der Spalte von Zeile zu Zeile unterscheidet, muss es sich um ein Objekt handeln.If the data type of the column varies from row to row, this must be Object. Diese Spalte kann keinen NULL-Wert enthalten.This column cannot contain a null value.
UdtassemblyqualifiednameUdtAssemblyQualifiedName Wenn es sich bei der Spalte um einen benutzerdefinierten Typ (User-Defined Type, UDT) handelt, ist dies der qualifizierte Name der UDT-Assembly gemäß AssemblyQualifiedName .If the column is a user-defined type (UDT), this is the qualified name of the UDT's assembly as per AssemblyQualifiedName. Wenn es sich bei der Spalte nicht um einen UDT handelt, ist dies NULL.If the column is not a UDT, this is null.
XmlSchemaCollectionDatabaseXmlSchemaCollectionDatabase Der Name der Datenbank, in der sich die Schema Auflistung für diese XML-Instanz befindet, wenn die Zeile Informationen über eine XML-Spalte enthält.The name of the database where the schema collection for this XML instance is located, if the row contains information about an XML column. Dieser Wert ist null ( Nothing in Visual Basic), wenn die Auflistung innerhalb der aktuellen Datenbank definiert ist.This value is null (Nothing in Visual Basic) if the collection is defined within the current database. Er ist ebenfalls NULL, wenn keine Schema Auflistung vorhanden ist. in diesem Fall XmlSchemaCollectionName sind die-Spalte und die- XmlSchemaCollectionOwningSchema Spalte ebenfalls NULL.It is also null if there is no schema collection, in which case the XmlSchemaCollectionName and XmlSchemaCollectionOwningSchema columns are also null.
XmlSchemaCollectionNameXmlSchemaCollectionName Der Name der Schema Auflistung für diese XML-Instanz, wenn die Zeile Informationen über eine XML-Spalte enthält.The name of the schema collection for this XML instance, if the row contains information about an XML column. Dieser Wert ist null ( Nothing in Visual Basic), wenn keine zugeordnete Schema Auflistung vorhanden ist.This value is null (Nothing in Visual Basic) if there is no associated schema collection. Wenn der Wert NULL ist, XmlSchemaCollectionDatabase sind die-Spalte und die- XmlSchemaCollectionOwningSchema Spalte ebenfalls NULL.If the value is null, the XmlSchemaCollectionDatabase and XmlSchemaCollectionOwningSchema columns are also null.
XmlSchemaCollectionOwningSchemaXmlSchemaCollectionOwningSchema Das besitzende relationale Schema, in dem sich die Schema Auflistung für diese XML-Instanz befindet, wenn die Zeile Informationen über eine XML-Spalte enthält.The owning relational schema where the schema collection for this XML instance is located, if the row contains information about an XML column. Dieser Wert ist null ( Nothing in Visual Basic), wenn die Auflistung innerhalb der aktuellen Datenbank definiert ist.This value is null (Nothing in Visual Basic) if the collection is defined within the current database. Er ist ebenfalls NULL, wenn keine Schema Auflistung vorhanden ist. in diesem Fall XmlSchemaCollectionDatabase sind die-Spalte und die- XmlSchemaCollectionName Spalte ebenfalls NULL.It is also null if there is no schema collection, in which case the XmlSchemaCollectionDatabase and XmlSchemaCollectionName columns are also null.

Hinweis

Um sicherzustellen, dass Metadatenspalten die richtigen Informationen zurückgeben, müssen Sie aufrufen, ExecuteReader wobei der- behavior Parameter auf festgelegt ist KeyInfo .To make sure that metadata columns return the correct information, you must call ExecuteReader with the behavior parameter set to KeyInfo. Andernfalls können einige Spalten in der Schema Tabelle Standard-, NULL-oder falsche Daten zurückgeben.Otherwise, some of the columns in the schema table may return default, null, or incorrect data.

Gilt für: