SqlDataReader.GetSchemaTable Método

Definición

Devuelve un DataTable objeto que describe los metadatos de columna de .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

Devoluciones

que DataTable describe los metadatos de columna.

Implementaciones

Excepciones

Comentarios

El GetSchemaTable método devuelve los metadatos siguientes sobre cada columna:

Columna DataReader Description
AllowDBNull Establezca si el consumidor puede establecer la columna en un valor NULL o si el proveedor no puede determinar si el consumidor puede establecer la columna en un valor NULL. De lo contrario, no se establece. Una columna puede contener valores NULL, incluso si no se puede establecer en un valor NULL.
BaseCatalogName Nombre del catálogo en el almacén de datos que contiene la columna. NULL si no se puede determinar el nombre del catálogo base. El valor predeterminado de esta columna es un valor NULL.
BaseColumnName Nombre de la columna en el almacén de datos. Esto puede ser diferente del nombre de columna devuelto en la columna ColumnName si se usó un alias. Valor NULL si no se puede determinar el nombre de la columna base o si la columna del conjunto de filas se deriva, pero no es idéntica a, una columna en el almacén de datos. El valor predeterminado de esta columna es un valor NULL.
BaseSchemaName Nombre del esquema en el almacén de datos que contiene la columna. Valor NULL si no se puede determinar el nombre del esquema base. El valor predeterminado de esta columna es un valor NULL.
BaseServerName Nombre de la instancia de Microsoft SQL Server usada por el SqlDataReader.
BaseTableName Nombre de la tabla o vista en el almacén de datos que contiene la columna. Valor NULL si no se puede determinar el nombre de la tabla base. El valor predeterminado de esta columna es un valor NULL.
ColumnName Nombre de la columna; esto podría no ser único. Si no se puede determinar, se devuelve un valor NULL. Este nombre siempre refleja el cambio de nombre más reciente de la columna en el texto de la vista o comando actual.
ColumnOrdinal Ordinal de base cero de la columna. Esta columna no puede contener un valor NULL.
TamañoDeColumna Longitud máxima posible de un valor en la columna. Para las columnas que usan un tipo de datos de longitud fija, este es el tamaño del tipo de datos. Para nvarchar(MAX), varchar(MAX) y varbinary(MAX) columnas almacenadas en una base de datos de SQL Server, el tamaño máximo es de 2 GB. Si estas columnas se almacenan y se accede a ellas como archivos, el sistema de archivos impone el límite de tamaño máximo. Este valor cambia cuando se usa la palabra clave Type System Version en el cadena de conexión. Para los nuevos tipos, se representan como tipos de nivel inferior. Los tipos de datos MAX devuelven el 4k normal para nvarchar y 8000 para varchar. Para obtener más información, consulte la referencia Transact-SQL.
DataTypeName Devuelve una cadena que representa el tipo de datos de la columna especificada.
IsAliased true: el nombre de columna es un alias.

false: el nombre de columna no es un alias.
IsAutoIncrement true: la columna asigna valores a nuevas filas en incrementos fijos.

false: la columna no asigna valores a nuevas filas en incrementos fijos. El valor predeterminado de esta columna es false.
IsColumnSet true: la columna es una columna dispersa que es miembro de un conjunto de columnas.
IsExpression true: la columna es una expresión.

false: la columna no es una expresión.
EstáOculto true: la columna está oculta.

false: la columna no está oculta.
IsIdentity true: la columna es una columna de identidad.

false: la columna no es una columna de identidad.
IsKey true: la columna es uno de un conjunto de columnas del conjunto de filas que, tomados juntos, identifican de forma única la fila. El conjunto de columnas con IsKey establecido true en debe identificar de forma única una fila en el conjunto de filas. No es necesario que este conjunto de columnas sea un conjunto mínimo de columnas. Este conjunto de columnas se puede generar a partir de una clave principal de tabla base, una restricción única o un índice único.

false: la columna no es necesaria para identificar de forma única la fila.
IsLong true: la columna contiene un objeto long binario (BLOB) que contiene datos muy largos. La definición de datos muy largos es específica del proveedor.

false: la columna no contiene un objeto long binario (BLOB) que contiene datos muy largos.
IsReadOnly true: no se puede modificar la columna.

false: la columna se puede modificar.
IsRowVersion true: la columna contiene un identificador de fila persistente en el que no se puede escribir y no tiene ningún valor significativo excepto para identificar la fila.

false: la columna no contiene un identificador de fila persistente en el que no se puede escribir y no tiene ningún valor significativo excepto para identificar la fila.
IsUnique true: la columna es de tipo timestamp.

false: la columna no es de tipo timestamp.
NonVersionedProviderType Tipo de la columna independientemente del Type System Version especificado en el cadena de conexión. El valor devuelto procede de la SqlDbType enumeración .
NumericPrecision Si ProviderType es un tipo de datos numérico, esta es la precisión máxima de la columna. La precisión depende de la definición de la columna. Si ProviderType no es un tipo de datos numérico, es 255.
NumericScale Si ProviderType es DBTYPE_DECIMAL o DBTYPE_NUMERIC, el número de dígitos a la derecha del separador decimal. De lo contrario, es 255.
ProviderSpecificDataType Devuelve el tipo de datos específico del proveedor de la columna basándose en la palabra clave />
ProviderType Indicador del tipo de datos de la columna. Si el tipo de datos de la columna varía de fila a fila, debe ser Object. Esta columna no puede contener un valor NULL.
UdtAssemblyQualifiedName Si la columna es un tipo definido por el usuario (UDT), este es el nombre completo del ensamblado del UDT según AssemblyQualifiedName. Si la columna no es un UDT, es null.
XmlSchemaCollectionDatabase Nombre de la base de datos donde se encuentra la colección de esquemas para esta instancia XML, si la fila contiene información sobre una columna XML. Este valor es null (Nothing en Visual Basic) si la colección está definida dentro de la base de datos actual. También es null si no hay ninguna colección de esquemas, en cuyo caso las XmlSchemaCollectionName columnas y XmlSchemaCollectionOwningSchema también son null.
XmlSchemaCollectionName Nombre de la colección de esquemas para esta instancia XML, si la fila contiene información sobre una columna XML. Este valor es null (Nothing en Visual Basic) si no hay ninguna colección de esquemas asociada. Si el valor es NULL, las XmlSchemaCollectionDatabase columnas y XmlSchemaCollectionOwningSchema también son null.
XmlSchemaCollectionOwningSchema Esquema relacional propietario donde se encuentra la colección de esquemas para esta instancia XML, si la fila contiene información sobre una columna XML. Este valor es null (Nothing en Visual Basic) si la colección está definida dentro de la base de datos actual. También es null si no hay ninguna colección de esquemas, en cuyo caso las XmlSchemaCollectionDatabase columnas y XmlSchemaCollectionName también son null.

Note

Para asegurarse de que las columnas de metadatos devuelven la información correcta, debe llamar ExecuteReader a con el behavior parámetro establecido KeyInfoen . De lo contrario, algunas de las columnas de la tabla de esquema pueden devolver datos predeterminados, null o incorrectos.

Se aplica a

Consulte también