Partilhar via


DataAdapter.FillSchema Método

Definição

Adiciona um DataTable ao especificado DataSet.

Sobrecargas

Nome Description
FillSchema(DataSet, SchemaType, String, IDataReader)

Adiciona um DataTable ao especificado DataSet.

FillSchema(DataSet, SchemaType)

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

FillSchema(DataTable, SchemaType, IDataReader)

Adiciona um DataTable ao especificado DataSet.

FillSchema(DataSet, SchemaType, String, IDataReader)

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

Adiciona um DataTable ao especificado DataSet.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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[]
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 SchemaType valores.

srcTable
String

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

dataReader
IDataReader

O IDataReader a ser usado como a fonte de dados ao preencher o DataTable.

Retornos

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

Atributos

Confira também

Aplica-se a

FillSchema(DataSet, SchemaType)

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

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

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public virtual 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
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[]
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 que será preenchido com o esquema da fonte de dados.

schemaType
SchemaType

Um dos SchemaType valores.

Retornos

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

Implementações

Atributos

Comentários

O FillSchema método recupera o esquema da fonte de dados usando o SelectCommand. O objeto de conexão associado SelectCommand ao deve ser válido, mas não precisa ser 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 destino DataSet. Em seguida, ele adiciona colunas ao DataColumnCollection do DataTablee configura as seguintes DataColumn propriedades se elas existirem na fonte de dados:

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

  • Se uma ou mais colunas de chave primária forem retornadas pelo SelectCommand, elas serão usadas como colunas de chave primária para .DataTable

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

  • Se as colunas de chave primária e as colunas exclusivas forem retornadas, as colunas de chave primária serão usadas como colunas de chave primária para .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, o SQL Server permite que uma coluna de identidade com um tipo de dados de tinyint, enquanto um DataColumn somente permite que Int16, Int32 e Int64 tenham a AutoIncrement propriedade definida. FillSchema ignora silenciosamente casos em que não DataColumn é possível espelhar 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 às ConstraintCollection regras anteriores, mas outros tipos de restrição não são adicionados.

Se um índice clusterizado exclusivo for definido em uma coluna ou colunas em uma tabela do SQL Server e a restrição de chave primária for definida em um conjunto separado de colunas, os nomes das colunas no índice clusterizado 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 encontrar DataAdapter colunas duplicadas ao preencher uma DataTable, ela 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 de acordo com o DataSet 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. Conjuntos de resultados adicionais são nomeados acrescentando 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 do provedor de FillSchema dados do .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 conjunto como AddWithKey.

Confira também

Aplica-se a

FillSchema(DataTable, SchemaType, IDataReader)

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

Adiciona um DataTable ao especificado DataSet.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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
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 SchemaType valores.

dataReader
IDataReader

O IDataReader a ser usado como a fonte de dados ao preencher o DataTable.

Retornos

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

Atributos

Confira também

Aplica-se a