SqlDataReader.GetSchemaTable Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
SqlDataReader Está cerrado.
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.