SqlDataReader.GetSchemaTable Método

Definição

Devolve um DataTable que descreve os metadados SqlDataReaderda coluna de .

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

Devoluções

A DataTable que descreve os metadados da coluna.

Implementações

Exceções

Observações

O GetSchemaTable método devolve os seguintes metadados sobre cada coluna:

Coluna DataReader Descrição
AllowDBNull Definir se o consumidor pode definir a coluna para um valor nulo ou se o fornecedor não conseguir determinar se o consumidor pode definir a coluna para um valor nulo. Caso contrário, não está definido. Uma coluna pode conter valores nulos, mesmo que não possa ser definida para um valor nulo.
BaseCatalogName O nome do catálogo no armazenamento de dados que contém a coluna. NULL se o nome do catálogo base não puder ser determinado. O valor padrão desta coluna é um valor nulo.
BaseColumnName O nome da coluna no armazenamento de dados. Isto pode ser diferente do nome da coluna devolvido na coluna Nome da Coluna se fosse usado um alias. Um valor nulo se o nome da coluna base não puder ser determinado ou se a coluna do conjunto de linhas for derivada, mas não idêntica, a uma coluna no armazenamento de dados. O valor padrão desta coluna é um valor nulo.
BaseSchemaName O nome do esquema no armazenamento de dados que contém a coluna. Um valor nulo se o nome do esquema base não puder ser determinado. O valor padrão desta coluna é um valor nulo.
BaseServerName O nome da instância de Microsoft SQL Server usado pelo SqlDataReader.
BaseTableName O nome da tabela ou vista no armazenamento de dados que contém a coluna. Um valor nulo se o nome da tabela base não puder ser determinado. O valor padrão desta coluna é um valor nulo.
ColumnName O nome da coluna; Isto pode não ser único. Se isto não puder ser determinado, é devolvido um valor nulo. Este nome reflete sempre a renomeação mais recente da coluna na vista atual ou texto de comando.
ColumnOrdinal O ordinal baseado em zero da coluna. Esta coluna não pode conter um valor nulo.
Tamanho da Coluna O comprimento máximo possível de um valor na coluna. Para colunas que usam um tipo de dado de comprimento fixo, este é o tamanho do tipo de dado. Para colunas nvarchar(MAX), varchar(MAX) e varbinary(MAX) armazenadas numa base de dados SQL Server, o tamanho máximo é de 2GB. Se estas colunas forem armazenadas e acedidas como ficheiros, o limite de tamanho máximo é imposto pelo sistema de ficheiros. Este valor muda ao usar a palavra-chave Type System Version na cadeia de ligação. Para novos tipos, são representados como tipos de nível inferior. Os tipos de dados MAX retornam os 4k normais para nvarchar e 8000 para varchar. Para mais informações, consulte a referência Transact-SQL.
DataTypeName Devolve uma string que representa o tipo de dado da coluna especificada.
IsAliased true: O nome da coluna é um pseudónimo.

false: O nome da coluna não é um pseudónimo.
IsAutoIncrement true: A coluna atribui valores a novas linhas em incrementos fixos.

false: A coluna não atribui valores a novas linhas em incrementos fixos. O padrão desta coluna é false.
IsColumnSet true: A coluna é uma coluna esparsa que pertence a um conjunto de colunas.
IsExpression true: A coluna é uma expressão.

false: A coluna não é uma expressão.
EstáOculto true: A coluna está escondida.

false: A coluna não está escondida.
IsIdentity true: A coluna é uma coluna identidade.

false: A coluna não é uma coluna identidade.
IsKey true: A coluna é uma de um conjunto de colunas no conjunto de linhas que, tomadas em conjunto, identificam unicamente a linha. O conjunto de colunas com IsKey definido para true deve identificar de forma única uma linha no conjunto de linhas. Não há qualquer requisito de que este conjunto de colunas seja um conjunto mínimo de colunas. Este conjunto de colunas pode ser gerado a partir de uma chave primária da tabela base, de uma restrição única ou de um índice único.

false: A coluna não é necessária para identificar de forma única a linha.
IsLong true: A coluna contém um Objeto Binário Longo (BLOB) que contém dados muito longos. A definição de dados muito longos é específica de cada fornecedor.

false: A coluna não contém um Objeto Binário Longo (BLOB) que contenha dados muito longos.
IsReadOnly true: A coluna não pode ser modificada.

false: A coluna pode ser modificada.
IsRowVersion true: A coluna contém um identificador de linha persistente que não pode ser escrito e não tem valor significativo exceto para identificar a linha.

false: A coluna não contém um identificador de linha persistente que não possa ser escrito, e não tem valor significativo exceto para identificar a linha.
IsUnique true: A coluna é do tipo timestamp.

false: A coluna não é do tipo timestamp.
NonVersionedProviderType O tipo da coluna, independentemente do atual Type System Version especificado no cadeia de ligação. O valor devolvido provém da SqlDbType enumeração.
Precisão Numérica Se ProviderType for um tipo de dado numérico, esta é a precisão máxima da coluna. A precisão depende da definição da coluna. Se ProviderType não for um tipo de dado numérico, isto é 255.
NumericScale Se ProviderType for DBTYPE_DECIMAL ou DBTYPE_NUMERIC, o número de dígitos à direita do ponto decimal. Caso contrário, são 255.
FornecedorEspecificoDataType Devolve o tipo de dado específico do fornecedor da coluna com base na palavra-chave Type System Version na cadeia de ligação.
Tipo de provedor O indicador do tipo de dado da coluna. Se o tipo de dado da coluna variar de linha para linha, isto deve ser Objecto. Esta coluna não pode conter um valor nulo.
UdtAssembleiaNomeQualificadoT Se a coluna for um tipo definido pelo utilizador (UDT), este é o nome qualificado do conjunto do UDT conforme AssemblyQualifiedName. Se a coluna não for um UDT, isto é nulo.
XmlSchemaCollectionDatabase O nome da base de dados onde se encontra a coleção de esquemas para esta instância XML, se a linha contiver informação sobre uma coluna XML. Este valor é null (Nothing em Visual Basic) se a coleção estiver definida dentro da base de dados atual. Também é nulo se não houver coleção de esquemas, caso em que as XmlSchemaCollectionName colunas e XmlSchemaCollectionOwningSchema também são nulas.
XmlSchemaCollectionName O nome da coleção de esquemas para esta instância XML, se a linha contiver informação sobre uma coluna XML. Este valor é null (Nothing em Visual Basic) se não houver coleção de esquemas associada. Se o valor for nulo, as XmlSchemaCollectionDatabase colunas e XmlSchemaCollectionOwningSchema também são nulas.
XmlSchemaCollectionOwningSchema O esquema relacional proprietário onde está localizada a coleção de esquemas para esta instância XML, se a linha contiver informação sobre uma coluna XML. Este valor é null (Nothing em Visual Basic) se a coleção estiver definida dentro da base de dados atual. Também é nulo se não houver coleção de esquemas, caso em que as XmlSchemaCollectionDatabase colunas e XmlSchemaCollectionName também são nulas.

Note

Para garantir que as colunas de metadados retornam a informação correta, deve chamar ExecuteReader com o behavior parâmetro definido como KeyInfo. Caso contrário, algumas colunas na tabela de esquemas podem devolver dados por defeito, nulos ou incorretos.

Aplica-se a

Ver também