IDataAdapter.Fill(DataSet) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
public:
int Fill(System::Data::DataSet ^ dataSet);
public int Fill(System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
Public Function Fill (dataSet As DataSet) As Integer
Parâmetros
Devoluções
O número de linhas adicionadas ou atualizadas com sucesso no DataSet. Isto não inclui linhas afetadas por instruções que não retornam linhas.
Observações
Fill recupera linhas da fonte de dados usando a instrução SELECT especificada por uma propriedade associada SelectCommand . O objeto connection associado à instrução SELECT deve ser válido, mas não precisa de ser aberto. Se a ligação for fechada antes Fill de ser chamada, é aberta para recuperar dados e depois fechada. Se a ligação estiver aberta antes Fill de ser chamada, permanece aberta.
A Fill operação adiciona então as linhas aos objetos de destino DataTable no DataSet, criando os DataTable objetos se ainda não existirem. Ao criar DataTable objetos, a Fill operação normalmente cria apenas metadados do nome das colunas. No entanto, se a MissingSchemaAction propriedade for definida para AddWithKey, também são criadas chaves primárias e restrições apropriadas.
Se o SelectCommand retorna os resultados de um OUTER JOIN, o DataAdapter não define um PrimaryKey valor para o resultado DataTable. Deve definir explicitamente a chave primária para garantir que as linhas duplicadas são resolvidas corretamente. Para obter mais informações, consulte Definindo chaves primárias.
Se encontrar IDataAdapter colunas duplicadas enquanto preenche um DataTable, gera nomes para as colunas sucessivas, usando o padrão "columnname1", "columnname2", "columnname3", e assim sucessivamente. Se os dados recebidos conterem colunas sem nome, são colocadas segundo DataSet o padrão "Column1", "Column2", e assim sucessivamente. Quando múltiplos conjuntos de resultados são adicionados ao DataSet, cada conjunto de resultados é colocado numa tabela separada. Conjuntos de resultados adicionais são nomeados adicionando valores integrais ao nome da tabela especificado (por exemplo, "Table", "Table1", "Table2", entre outros). As aplicações devem ter cautela ao usar nomes de colunas e tabelas para garantir que não ocorram conflitos com esses padrões de nomenclatura.
Quando a instrução SELECT usada para preencher os DataSet retorna múltiplos resultados, como uma instrução SQL em lote, se um dos resultados contiver um erro, todos os resultados sucessivos são ignorados e não adicionados ao DataSet.
Pode usar o Fill método várias vezes no mesmo DataTable. Se existir uma chave primária, as linhas de entrada são fundidas com as linhas correspondentes que já existem. Se não existir uma chave primária, as linhas de entrada são adicionadas ao DataTable.
Note
Ao lidar com instruções SQL em lote que retornam múltiplos resultados, a implementação de Fill e FillSchema para um fornecedor de dados .NET Framework recupera informação de esquema apenas para o primeiro resultado.