Como: Manipular erros de simultaneidade
Você pode pegar o objeto DBConcurrencyException para auxiliar na resolução de problemas decorrentes de violações de simultaneidade.O objeto DBConcurrencyException retorna a linha de dados que ocasionou o erro.Para obter mais informações, consulte Membros DBConcurrencyException.
O exemplo a seguir tenta atualizar uma fonte de dados com o conteúdo do NorthwindDataSet de dentro de um bloco try/catch, se um erro for gerado uma mensagem de erro é exibida junto com a primeira coluna da linha de dados afetada.
Observação: |
---|
O código abaixo é uma ilustração de uma estratégia para tratar um erro de atualização do banco de dados.O código pressupõe várias coisas; uma conexão existente para um banco de dados, a existência de um dataset, bem como a suposição que o comando de execução da atualização será gerado numa violação de concorrência.Para obter mais informações e um exemplo completo, consulte Demonstra Passo a passo: Manipulando uma exceção concorrente. |
Para resolver uma violação de concorrência
Execute o comando para atualizar o banco de dados de dentro de um bloco try/catch.
Se uma exceção é gerada, inspecione a propriedade Row da instrução catch para determinar o que causou a violação.
Adicione código para resolver o erro com base nas regras de negócio do aplicativo.
O código a seguir usa um CustomersTableAdapter e NorthwindDataSet como exemplos de adaptador e dataset em seu aplicativo.
Try CustomersTableAdapter.Update(NorthwindDataSet) Catch ex As DBConcurrencyException Dim customErrorMessage As String customErrorMessage = "Concurrency violation" & vbCrLf customErrorMessage += CType(ex.Row.Item(0), String) MessageBox.Show(customErrorMessage) ' Add business logic code to resolve the concurrency violation... End Try
try { customersTableAdapter.Update(northwindDataSet); } catch (DBConcurrencyException ex) { string customErrorMessage; customErrorMessage = "Concurrency violation\n"; customErrorMessage += ex.Row[0].ToString(); // Add business logic code to resolve the concurrency violation... }
Consulte também
Conceitos
Outros recursos
Explicações Passo a passo sobre Dados
Conectando-se a Dados no Visual Studio
Preparando seu aplicativo para receber dados
Buscando dados em seu aplicativo
Exibindo dados em formulários em aplicativos do Windows