Infracción de concurrencia

20/10/2004 - 13:43 por Giggs | Informe spam
En una tabla con la siguiente estructura

Código->Autonumérico
Fecha->Fecha
Cantidad->Decimal/Moneda

Funciona bien pero cuando borro algún registro e intento actualizar los
datos me da un error de "infracción de concurrencia".

Es una base de datos de Access y la tabla no está relacionada con nadie.

Un saludo
Giggs

Preguntas similare

Leer las respuestas

#1 SqlRanger
21/10/2004 - 00:42 | Informe spam
Podrías inidicar cual es la propiedad CommandText del DeleteCommand del
DataAdapter ?


"Giggs" escribió en el mensaje
news:
En una tabla con la siguiente estructura

Código->Autonumérico
Fecha->Fecha
Cantidad->Decimal/Moneda

Funciona bien pero cuando borro algún registro e intento actualizar los
datos me da un error de "infracción de concurrencia".

Es una base de datos de Access y la tabla no está relacionada con nadie.

Un saludo
Giggs


Respuesta Responder a este mensaje
#2 Giggs
21/10/2004 - 10:44 | Informe spam
DELETE FROM movimientos
WHERE (IdMovimientos = ?)
AND (fecha = ? OR ? IS NULL AND fecha IS NULL)
AND (VentaTotal=? OR ? IS NULL AND VentaTotal IS NULL)


"SqlRanger" escribió en el mensaje
news:
Podrías inidicar cual es la propiedad CommandText del DeleteCommand del
DataAdapter ?


"Giggs" escribió en el mensaje
news:
En una tabla con la siguiente estructura

Código->Autonumérico
Fecha->Fecha
Cantidad->Decimal/Moneda

Funciona bien pero cuando borro algún registro e intento actualizar los
datos me da un error de "infracción de concurrencia".

Es una base de datos de Access y la tabla no está relacionada con nadie.

Un saludo
Giggs






Respuesta Responder a este mensaje
#3 Giggs
25/10/2004 - 19:50 | Informe spam
Parece que lo he solucionado.

El en el DataAdaper, cuando se crea hay un apartado de opciones avanzadas.
Allí he desmarcado la opción concurrencia optimista.

Como es una aplicación monopuesto no necesitará concurrencia.

Un saludo a todos
Giggs
Respuesta Responder a este mensaje
#4 SqlRanger
06/11/2004 - 23:47 | Informe spam
La causa de que no funcionara correctamente es que el OleDb .NET Data
Provider no traduce correctamente los valores decimales a cadenas, usa la
configuración local, poniendo una coma en vez de un punto decinal que es lo
que espera el Jet, de esta manera no habrá ningún registro que cumpla la
cláusula where (porque está mal puesta), dando una equivocada excepción
concurrencia.

Las excepciones de concurrencia se producen cuando el comando de
actualización o eliminación no afecta a ningún registro.

Una solución a este problema es cambiar CurrentCulture a inglés de USA
temporalmente antes de llamar al método Update del DataAdapter y restaurarla
después a su valor original.

Saludos:

Jesús López
MVP


"Giggs" escribió en el mensaje
news:
Parece que lo he solucionado.

El en el DataAdaper, cuando se crea hay un apartado de opciones avanzadas.
Allí he desmarcado la opción concurrencia optimista.

Como es una aplicación monopuesto no necesitará concurrencia.

Un saludo a todos
Giggs


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida