Thursday 27 January 2011

Infracción de concurrencia: DeleteCommand o UpdateCommand en C# o VB.NET

Si tienes este error:

Infracción de concurrencia: DeleteCommand o UpdateCommand afectó a 0 de los 1 registros esperados."


Ya sea agregando o editando un registro, es porque seguro esa tabla tiene un Id auto numérico y cuando intentas borrar o editar un registro recién guardado el nuevo Id no es retornado a menos de que lo hagas explícitamente, aqui hay un ejemplo de un registro recién agregado a un DataGridView:



Como puedes ver el Id auto numérico no es guardado

Yo intenté solucionarlo tratando de que sea lo mas sencillo posible y encontré que la mejor forma(en este caso para mi) fué, volver a cargar lo datos nuevamente después de agregarlo, algo así:

Pseudo-código:



Agregar_registro();
Recargar_registros(); // <-- Aqui se vuelve a actualizar



Esta es una manera que me funciona bien hasta los momentos si tienes una mejor por favor comentala

Publicado en tttony.blogspot.com

No comments:

Post a Comment