FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Tmemo y ADOQuery
Hola a todos, mi duda es la siguiente:
Uso delphi6 profesional. Tengo un campo TMemo donde el usuario escribe sus observaciones, al guardar los datos indicados a base de datos access2003, lo guarda sin problemas mediante TADOTable (sin importar la longitud de lo escrito, ya que supuestamente los campos Memo de access2003 pueden guardar hasta 65.535 caracteres). Cuando el usuario quiere modificar esas observaciones, lógicamente accedo al campo y muestro los datos que indicó en su día, ahora viene el problema, resulta que las nuevas modificaciones "sea más información o menos" me salta "No hay transacción activa" y he llegado a la conclusión que sólo ocurre cuando el usuario supera los 255 caracteres. ¿por qué motivo me dice esto?. En las altas no importa la longitud de lo escrito y en las modificaciones sí. Las modificaciones en la base de datos las realizo mediante TADOQuery. Esperando una pronta respuesta, reciban un afectuoso saludo... |
#2
|
||||
|
||||
¿Utilizas transacciones para algo?
Si es que sí, puedes explicar para qué y cómo. En principio ese error no parece que tenga nada que ver con la longitud del campo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Efectivamente las operaciones de escritura las realizo mediante transacciones.
Estas transacciones las realizo mediante TADOConection. try TADOConection.Startransaction; ... líneas necesarias mediante TADOQuery para guardar las modificaciones. TADOConection.Commit except TADOConection.RollBack; end; Saludos... |
#4
|
||||
|
||||
Cita:
Revisa tu código a ver si puede ser que se esté dando esa posibilidad. Si tienes dudas y quieres evitarlo, puedes utilizar la función InTransaction, sobre la misma ADOConnection, que te dirá si hay alguna transacción activa y por lo tanto si puedes hacer un Commit/Rollback.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
El código lo he revisado en varias ocasiones y está todo correcto, el commit se realiza sobre una TADOConection que ya tiene un StarTransaction activa y el TADOQuery lo trato antes del Commit ó Rollback.
El fallo siempre lo dá en las modificaciones cuando en el TMemo introduzco más de 255 caracteres. Resulta que a la hora de añadir si sobrepasas el límite de 255 caracteres no pasa nada. La única diferencia que para añadir utilizo TADOTable y para modificar TADOQuery. La verdad que este fallo tonto, me está haciendo perder mucho tiempo. ¿Que podría estar pasando? Saludos... |
#6
|
||||
|
||||
Si ver el código es difícil...
¿Puede ser que tengas algun Try..Except que te esté enmascarando errores?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
|||
|
|||
Al final lo he solucionado con un TADOTable dentro de una Transacción.
Aún no comprendo por qué motivo realizándolo desde un TADOQuery no funciona y con TADOTable sí. Saludos.... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿TMemo ..? | Ledian_Fdez | C++ Builder | 4 | 21-06-2007 15:14:25 |
TMemo no seleccionable | lccoyote | C++ Builder | 18 | 10-04-2007 19:35:16 |
Tmemo | gontxalo | OOP | 1 | 30-07-2005 12:01:43 |
Ayuda con el uso del TMemo | Luli | Varios | 3 | 29-05-2005 18:05:27 |
Uso de TMemo | Luli | Varios | 3 | 21-04-2005 22:15:15 |
|