![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
![]() 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 |
#2
|
||||
|
||||
ummm... creo que no lo he entendido
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Quizas un trigger?
Por la descripción del problema se me ocurren dos teorías:
1. El campo Varchar(20) es un campo calculado y por tanto no se puede modificar. 2. Hay un trigger en la tabla que preserva el valor del campo varchar(20). |
#4
|
||||
|
||||
Cita:
...pero suena interesante. Voy a revisar si Firebird no generó alguna especie de trigger automático.
__________________
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 |
#5
|
|||
|
|||
Mira la integridad de la base de datos
Tuve una experiencia al principio de usar Firebird, durante un proceso de pruebas, donde me ocurrió esto, sin que nada aparentemente lo provocara (ni disparadores, ni campo calculado, ni nada) simplemente que el commit no funcionaba.
Resultó ser un problema de integridad de la base de datos que se resolvió con un backup y un posterior restore. No me ha vuelto a pasar, ahora tengo mas experiencia, soy más sistemático, y de todas formas Firebird es como una roca. Mira eso por si acaso. |
#6
|
||||
|
||||
Cita:
![]() ![]() ![]()
__________________
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 |
#7
|
||||
|
||||
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
||||
|
||||
Casi, para mí la integridad referencial es como intentar entender a una mujer, y te recuerdo que soy tres veces divorciado... jajajajajajaja
__________________
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 |
#9
|
||||
|
||||
Cita:
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
El programa se queda "colgado" mientras copia y luego "despierta" | NeWsP | OOP | 5 | 10-03-2010 22:05:40 |
"OBJECT OR CLASS TYPE REQUIRED" en "APPLICATION EXENAME" | Xavierator | Varios | 3 | 27-10-2008 09:09:50 |
Como hacer que se vea "Si" en vez de "TRUE" en un DBGrid | lu9eui | C++ Builder | 2 | 07-08-2007 04:03:13 |
Necesito llamar a métodos de clases "hija" desde su clase "padre" | Flecha | OOP | 17 | 20-04-2007 00:03:53 |
![]() |
|