Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   mssql another user change the record (https://www.clubdelphi.com/foros/showthread.php?t=40281)

eureka 12-02-2007 16:13:08

Campos Float BDE vs SQL SERVER
 
Hola a todos y gracias por adelantado,

Nos encontramos con una aplicación realizada con Delphi 5 que accede a una BDD SQL Server mediante una conexion MSSQL. Hasta ahora la conexión se realizaba a traves de un ODBC sin problemas.

Actualmente, en algunas ocaciones al intentar realizar un TQuery.Edit nos sale el siguiente error: "10259 mssql another user change the record ..". Hemos comprobado que ningun usuario bloquea el registro.

eureka 15-02-2007 14:26:34

Por lo visto este error se produce por un conflicto entre los campos float de SQL Server y el BDE, ya que este ultimo solo opera con una precision de 15 decimales. Justo cuando se realiza la operación de edicion (.Edit), a través de SQL Monitor podemos ver como el sistema envia una SELECT COUNT(*) para verificar el estado del registro, esta select utiliza como parametros de busqueda algunos de los campos float.

Estos parecen los sintomas y las causas, pero no logro encontrar alguna manera de solucionar el problema sin modificar la base de datos y/o el código.

Conocen alguna opción de configuracion, parametro... para solucionar la problemática?

Byfed 21-02-2007 18:55:00

Hola,
yo he tenido problemas similares en alguna aplicación y se solucionaron poniendo la propiedad UpdateMode de la tabla en UpWhereKeyOnly en lugar de UpWhereAll, como viene por defecto.


Pruebalo, a ver si hay suerte.

saludos.


La franja horaria es GMT +2. Ahora son las 20:28:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi