Como atualizar dados usando um TableAdapter
Publicado: abril de 2016
Depois que os dados no conjunto de dados foi modificados e validados, você pode enviar os dados atualizados para uma chamada databaseby o Update
método de um TableAdapter. O Update
atualizará uma única tabela de dados e executar o comando correto (INSERT, UPDATE ou DELETE) com base no método de RowState de cada linha de dados na tabela. Quando um conjunto de dados tiver tabelas relacionadas, o Visual Studio gera uma classe de TableAdapterManager que você deve usar para fazer as atualizações. TableAdapterManager garante que as atualizações são feitas a ordem correta com base nas restrições de chave estrangeira definidas no banco de dados. Quando você usa controles ligados a dados, a arquitetura de vinculação de dados cria uma variável de membro de TableAdapterManager para você, chamado tableAdapterManager. Para obter mais informações, consulte Visão geral de atualização hierárquica.
Dica
Pois tentar atualizar uma fonte de dados com o conteúdo de um conjunto de dados pode causar erros, você deve colocar o código que chama o adaptador Update
método dentro um try
/catch
bloco.
O procedimento exato para atualizar uma fonte de dados pode variar dependendo das necessidades de negócios, mas o aplicativo deve incluir as seguintes etapas:
Chamar o adaptador
Update
método em umtry
/catch
bloco.Se uma exceção é detectada, localize a linha de dados que causou o erro. Para obter mais informações, consulte Como localizar linhas com erros.
Reconcilie o problema nos dados de linha (programaticamente se você puder, ou apresentando a linha inválida para o usuário para modificação) e, em seguida, tente novamente a atualização (HasErrors, GetErrors).
Salvando dados em um banco de dados
Chamar o Update
método de um TableAdapter, passando o nome da tabela de dados que contém os valores a serem gravados no banco de dados.
Para atualizar um banco de dados usando um TableAdapter
Coloque o adaptador
Update
método em umtry
/catch
bloco. O exemplo a seguir mostra como tentar uma atualização de dentro umtry
/catch
bloco com o conteúdo aCustomers
na tabelaNorthwindDataSet
.try { this.Validate(); this.customersBindingSource.EndEdit(); this.customersTableAdapter.Update(this.northwindDataSet.Customers); MessageBox.Show("Update successful"); } catch (System.Exception ex) { MessageBox.Show("Update failed"); }
Try Me.Validate() Me.CustomersBindingSource.EndEdit() Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers) MsgBox("Update successful") Catch ex As Exception MsgBox("Update failed") End Try