Ver Mensaje Individual
  #1  
Antiguo 14-10-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Reputación: 18
TiammatMX Va camino a la fama
Unhappy ¿Cómo "corto" una transacción pendiente?

Buen día/tarde/noche (según aplique), jóvenes Delphineros...

Les platico que en casa tengo Firebird 2.1 conectado a mi aplicación mediante ADO (sí, yo sé que no es lo óptimo, pero así me lo requirieron) y sucedió algo que me alarma y me da un poco de desconfianza. Resulta que durante alguna de las múltiples pruebas a una pantalla que estoy desarrollando, mandé actualizar un campo que es vital para el funcionamiento del programa, de tipo VarChar(20); una vez que SE SUPONE que grabó el dato, me aparece una excepción en que se involucra a uno de los campos llave para recrear los datos en memoria (un Refresh, pues), corrijo el problema y vuelvo a probar...

Cuál va siendo mi sorpresa que NO ME PERMITE ACTUALIZAR EL CAMPO VARCHAR nuevamente, es más, utilizando un manejador de Firebird le intento actualizar el dato a mano e INVARIABLEMENTE se queda con el valor anterior a la actualización por más intentos (mediante Commit a la transacción) que le haga de modificarlo.

Preguntas, ¿será que debo recrear la tabla, cómo puedo evitar que ésto quede en el entorno real de trabajo para mi cliente? ¿Cómo puedo solucionarlo para continuar avanzando en la programación en lo que diseño una estrategia para que ésto no suceda?

Agradeciendo de antemano.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita