Problema no UPDATE - VB.NET - DataSet

29/07/2009

Boa tarde,

Estou com uma aplicação em VB.NET usando um DATASET.

Tenho um Grid com dados e preciso fazer uma alteração em um campo e depois salvar.

Mas ocorre um erro:  "Concurrency violation: the UpdateCommand affected 0 of the expected 1 records."

Eu fiz um video mostrando o erro. Fui executando o programa passo-a-passo ( F8).

Obrigado,

Ernany

http://video.devmedia.com.br/discovirtual/185374/ErroAtualizandoTabela4.zip
Ernany

Ernany

Curtidas 0

Respostas

Luiz Maia

Luiz Maia

29/07/2009


Ola Ernany, vi o flash que criou... Este problema é muito comum quando se usa o wizard para criar eventos de CRUD num DataSet Tipado.
Para esta questão, você tem duas possibilidades da ocorrência deste erro, acredito que a sua seja a segunda. 1 - Outro usuário pode estar tentando alterar algum registro na tabela em questão. Neste caso você pode usar algo do tipo de ISOLATION LEVEL antes de sua query.
Isto ocorre por que o DataApapter não encontra os dados originais para proceder com a alteração requisitada. Pode ser que usando o codigo abaixo resolva: 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...
}
2 - Outra questão é relativa à problemas no UpdateCommand. Se for o caso, sugiro você usar a ferramenta do SQL Profiler no servidor para observar
cada requisição. Com isto você saberá qual comando update esta gerando esta exceção e poderá alterar os parâmetros.
Aqui tem um exemplo que como usar o SQL Profile: http://msdn.microsoft.com/en-us/library/ms187929.aspx
Mas antes de tudo, sugiro vc recriar o DataSet Tipado e refazer a criação dos eventos do CRUD usando o wizard mesmo.
Abraços
Att
Luiz Maia
GOSTEI 0
Ernany

Ernany

29/07/2009

Boa Noite Luiz,

Vou fazer alguns testes e depois lhe dou um retorno.

Obrigado por enquanto,

Ernany
GOSTEI 0
POSTAR