SqlDataReader.GetSchemaTable Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna um DataTable que descreve os metadados de coluna do 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
Retornos
Um DataTable que descreve os metadados da coluna.
Implementações
Exceções
O SqlDataReader está fechado.
Comentários
O GetSchemaTable método retorna os seguintes metadados sobre cada coluna:
| Coluna DataReader | Description |
|---|---|
| Allowdbnull | Defina se o consumidor pode definir a coluna como um valor nulo ou se o provedor não pode determinar se o consumidor pode definir a coluna como um valor nulo. Caso contrário, não definido. Uma coluna pode conter valores nulos, mesmo que não possa ser definida como um valor nulo. |
| BaseCatalogName | O nome do catálogo no repositório de dados que contém a coluna. NULL se o nome do catálogo base não puder ser determinado. O padrão desta coluna é um valor nulo. |
| BaseColumnName | O nome da coluna no armazenamento de dados. Isso pode ser diferente do nome da coluna retornado na coluna ColumnName se um alias for usado. Um valor nulo se o nome da coluna base não puder ser determinado ou se a coluna de conjunto de linhas for derivada, mas não idêntica a, uma coluna no armazenamento de dados. O 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 padrão desta coluna é um valor nulo. |
| BaseServerName | O nome da instância de Microsoft SQL Server usada pelo SqlDataReader. |
| BaseTableName | O nome da tabela ou exibição no repositório de dados que contém a coluna. Um valor nulo se o nome da tabela base não puder ser determinado. O padrão desta coluna é um valor nulo. |
| NomeDaColuna | O nome da coluna; isso pode não ser exclusivo. Se isso não puder ser determinado, um valor nulo será retornado. Esse nome sempre reflete a renomeação mais recente da coluna no texto de comando ou exibição atual. |
| Ordinal de coluna | O ordinal baseado em zero da coluna. Esta coluna não pode conter um valor nulo. |
| ColumnSize | O comprimento máximo possível de um valor na coluna. Para colunas que usam um tipo de dados de comprimento fixo, esse é o tamanho do tipo de dados. Para colunas nvarchar(MAX), varchar(MAX) e varbinary(MAX) armazenadas em um banco de dados SQL Server, o tamanho máximo é de 2 GB. Se essas colunas forem armazenadas e acessadas como arquivos, o limite de tamanho máximo será imposto pelo sistema de arquivos. Esse valor muda ao usar a palavra-chave Type System Version no cadeia de conexão. Para novos tipos, eles são representados como tipos de nível inferior. Os tipos de dados MAX retornam os 4k normais para nvarchar e 8.000 para varchar. Para obter mais informações, consulte a referência Transact-SQL. |
| DataTypeName | Retorna uma cadeia de caracteres que representa o tipo de dados da coluna especificada. |
| IsAliased |
true: o nome da coluna é um alias.false: o nome da coluna não é um alias. |
| 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 é um membro de 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á oculta.false: a coluna não está oculta. |
| IsIdentity |
true: a coluna é uma coluna de identidade.false: a coluna não é uma coluna de identidade. |
| Iskey |
true: a coluna é uma de um conjunto de colunas no conjunto de linhas que, juntas, identificam exclusivamente a linha. O conjunto de colunas com IsKey o conjunto a true ser definido deve identificar exclusivamente uma linha no conjunto de linhas. Não há nenhum requisito de que esse conjunto de colunas seja um conjunto mínimo de colunas. Esse conjunto de colunas pode ser gerado a partir de uma chave primária da tabela base, uma restrição exclusiva ou um índice exclusivo.false: a coluna não é necessária para identificar exclusivamente a linha. |
| IsLong |
true: a coluna contém um BLOB (Objeto Binário Longo) que contém dados muito longos. A definição de dados muito longos é específica do provedor.false: a coluna não contém um BLOB (Objeto Binário Longo) que contém 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 gravado e não tem nenhum valor significativo, exceto para identificar a linha.false: a coluna não contém um identificador de linha persistente que não pode ser gravado e não tem nenhum 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 Type System Version atual especificado no cadeia de conexão. O valor retornado é da SqlDbType enumeração. |
| Numericprecision | Se ProviderType for um tipo de dados numérico, essa será a precisão máxima da coluna. A precisão depende da definição da coluna. Se ProviderType não for um tipo de dados numérico, será 255. |
| Numericscale | Se ProviderType for DBTYPE_DECIMAL ou DBTYPE_NUMERIC, o número de dígitos à direita do ponto decimal. Caso contrário, isso é 255. |
| ProviderSpecificDataType | Retorna o tipo de dados específico do provedor da coluna com base na palavra-chave Type System Version no cadeia de conexão. |
| ProviderType | O indicador do tipo de dados da coluna. Se o tipo de dados da coluna varia de linha para linha, isso deve ser Objeto. Esta coluna não pode conter um valor nulo. |
| UdtAssemblyQualifiedName | Se a coluna for um UDT (tipo definido pelo usuário), esse será o nome qualificado do assembly do UDT de acordo AssemblyQualifiedNamecom . Se a coluna não for um UDT, isso será nulo. |
| Xmlschemacollectiondatabase | O nome do banco de dados em que a coleção de esquemas dessa instância XML está localizada, se a linha contiver informações sobre uma coluna XML. Esse valor será null (Nothing em Visual Basic) se a coleção for definida no banco de dados atual. Também será nulo se não houver nenhuma coleção de esquemas, nesse caso, as colunas e XmlSchemaCollectionOwningSchema as XmlSchemaCollectionName colunas também serão nulas. |
| Xmlschemacollectionname | O nome da coleção de esquemas para esta instância XML, se a linha contiver informações sobre uma coluna XML. Esse valor será null (Nothing em Visual Basic) se não houver nenhuma coleção de esquemas associada. Se o valor for nulo, as colunas e XmlSchemaCollectionOwningSchema as XmlSchemaCollectionDatabase colunas também serão nulas. |
| Xmlschemacollectionowningschema | O esquema relacional proprietário em que a coleção de esquemas dessa instância XML está localizada, se a linha contiver informações sobre uma coluna XML. Esse valor será null (Nothing em Visual Basic) se a coleção for definida no banco de dados atual. Também será nulo se não houver nenhuma coleção de esquemas, nesse caso, as colunas e XmlSchemaCollectionName as XmlSchemaCollectionDatabase colunas também serão nulas. |
Note
Para garantir que as colunas de metadados retornem as informações corretas, você deve chamar ExecuteReader com o behavior parâmetro definido como KeyInfo. Caso contrário, algumas das colunas na tabela de esquema podem retornar dados padrão, nulos ou incorretos.