DataAdapter.FillSchema Método

Definição

Adiciona um DataTable ao DataSet especificado.

Sobrecargas

FillSchema(DataSet, SchemaType, String, IDataReader)

Adiciona um DataTable ao DataSet especificado.

FillSchema(DataSet, SchemaType)

Adiciona um DataTable ao DataSet especificado e configura o esquema para corresponder à fonte de dados com base no SchemaType especificado.

FillSchema(DataTable, SchemaType, IDataReader)

Adiciona um DataTable ao DataSet especificado.

FillSchema(DataSet, SchemaType, String, IDataReader)

Origem:
DataAdapter.cs
Origem:
DataAdapter.cs
Origem:
DataAdapter.cs

Adiciona um DataTable ao DataSet especificado.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()

Parâmetros

dataSet
DataSet

O DataTable a ser preenchido do IDataReader.

schemaType
SchemaType

Um dos valores de SchemaType.

srcTable
String

O nome da tabela de origem a ser usado para mapeamento de tabela.

dataReader
IDataReader

O IDataReader a ser usado como a fonte de dados durante o preenchimento de DataTable.

Retornos

Uma referência a uma coleção de objetos DataTable que foram adicionados ao DataSet.

Confira também

Aplica-se a

FillSchema(DataSet, SchemaType)

Origem:
DataAdapter.cs
Origem:
DataAdapter.cs
Origem:
DataAdapter.cs

Adiciona um DataTable ao DataSet especificado e configura o esquema para corresponder à fonte de dados com base no SchemaType especificado.

public:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
 abstract cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public abstract System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

Parâmetros

dataSet
DataSet

O DataSet a ser preenchido com o esquema da fonte de dados.

schemaType
SchemaType

Um dos valores de SchemaType.

Retornos

Um objeto DataTable que contém informações de esquema retornadas da fonte de dados.

Implementações

Comentários

O FillSchema método recupera o esquema da fonte de dados usando o SelectCommand. O objeto de conexão associado ao SelectCommand deve ser válido, mas não precisa estar aberto. Se a conexão for fechada antes FillSchema de ser chamada, ela será aberta para recuperar dados e, em seguida, fechada. Se a conexão estiver aberta antes FillSchema de ser chamada, ela permanecerá aberta.

Uma FillSchema operação adiciona um DataTable ao de destino DataSet. Em seguida, ele adiciona colunas ao DataColumnCollection do DataTablee configura as seguintes DataColumn propriedades se elas existirem na fonte de dados:

FillSchema também configura as PrimaryKey propriedades e Constraints de acordo com as seguintes regras:

  • Caso uma ou mais colunas de chave primária sejam retornadas pelo SelectCommand, elas são usadas como colunas de chave primária para o DataTable.

  • Se nenhuma coluna de chave primária for retornada, mas forem colunas exclusivas, as colunas exclusivas serão usadas como a chave primária se, e somente se, todas as colunas exclusivas não forem anuláveis. Caso qualquer uma das colunas seja anulável, um UniqueConstraint é adicionado ao ConstraintCollection, mas a propriedade PrimaryKey não é definida.

  • Caso as colunas de chave primária e as colunas exclusivas sejam retornadas, as colunas de chave primária são usadas como as colunas de chave primária para o DataTable.

Observação

O armazenamento de dados subjacente pode permitir atributos de coluna que não têm suporte em um DataColumn, o que faz com que alguns atributos de coluna não sejam convertidos corretamente. Por exemplo, SQL Server permite que uma coluna de identidade com um tipo de dados tinyint, enquanto um DataColumn só permite que Int16, Int32 e Int64 tenham a AutoIncrement propriedade definida. FillSchemaignora silenciosamente casos em que o DataColumn não pode espelho com precisão a fonte de dados e não gera nenhuma exceção.

Observe que as chaves primárias e restrições exclusivas são adicionadas ao ConstraintCollection de acordo com as regras anteriores, mas outros tipos de restrição não são adicionados.

Se um índice agrupado exclusivo estiver definido em colunas em uma tabela do SQL Server e a restrição de chave primária estiver definida em um conjunto de colunas separado, os nomes das colunas no índice agrupado serão retornados. Para retornar o nome ou os nomes das colunas de chave primária, use uma dica de consulta com a instrução SELECT que especifica o nome do índice de chave primária. Para obter mais informações sobre como especificar dicas de consulta, consulte Dicas (Transact-SQL) – Consulta.

Se o DataAdapter encontrar colunas duplicadas ao preencher um DataTable, ele gerará nomes para as colunas subsequentes, usando o padrão "columnname1", "columnname2", "columnname3" e assim por diante. Se os dados de entrada contiverem colunas sem nome, eles serão colocados no DataSet de acordo com o padrão "Column1", "Column2" e assim por diante. Quando vários conjuntos de resultados são adicionados a DataSet cada conjunto de resultados é colocado em uma tabela separada. Os conjuntos de resultados adicionais são nomeados adicionando-se valores integrais ao nome da tabela especificado (por exemplo, "Tabela", "Tabela1", "Tabela2" e assim por diante). Os aplicativos que usam nomes de coluna e tabela devem garantir que conflitos com esses padrões de nomenclatura não ocorram.

FillSchema não retorna nenhuma linha. Use o Fill método para adicionar linhas a um DataTable.

Observação

Ao manipular instruções SQL em lote que retornam vários resultados, a implementação de para o provedor de FillSchema dados .NET Framework para OLE DB recupera informações de esquema apenas para o primeiro resultado. Para recuperar informações de esquema para vários resultados, use Fill com o MissingSchemaAction definido AddWithKeycomo .

Confira também

Aplica-se a

FillSchema(DataTable, SchemaType, IDataReader)

Origem:
DataAdapter.cs
Origem:
DataAdapter.cs
Origem:
DataAdapter.cs

Adiciona um DataTable ao DataSet especificado.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable? FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable

Parâmetros

dataTable
DataTable

O DataTable a ser preenchido do IDataReader.

schemaType
SchemaType

Um dos valores de SchemaType.

dataReader
IDataReader

O IDataReader a ser usado como a fonte de dados durante o preenchimento de DataTable.

Retornos

Um objeto DataTable que contém informações de esquema retornadas da fonte de dados.

Confira também

Aplica-se a