FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
SQL no actualiza los datos
Tengo el siguiente programa en Delphi 7 con Interbase 6. Uso los componentes de base de datos de interbase. El código es:
y el SQL que tengo para QrUCab es: Para el Select y para el Update el caso es que no me actualiza el campo procesado a '1'. Lo he probado asignando directamente el valor y tampoco me lo actualiza. Los componentes son TIBQuery y TIBUpdateSQL aunque tambien lo he probado con TIBDataSet y tampoco funciona. He probado según algunos ejemplos que he visto en el foro y tampoco. Ahora lo tengo con CachedUpdates = True pero tambien lo he probado sin. La cuestión es que me pasa por todas las sentencias que ha de pasar y no me da error, pero no me actualiza el campo. Sinceramente, ya no se que hacer. Agradecería cualquier ayuda posible. Gracias. |
#2
|
||||
|
||||
Prueba con este SQL:
Código:
update Cabeceras set procesado = :procesado where idMensaje = :OLD_idMensaje |
#3
|
|||
|
|||
No puedo quitar las comillas, es SQl Dialect 3
Si quito las comillas me da error de 'Field not found'. Interbase está en SQL dialect 3. Inicialmente hice este programa en Delphi 3 (con los componentes de Base de Datos). A mi me funcionaba, pero al instalarlo en el cliente, me daba el error de 'Tabla no encontrada'. Por mucho que lo intenté, no consenguí que funcionara en el cliente. Por eso lo estoy probando en Delphi 7, pero las comillas las tengo que mantener para que no me de errores. La Select la hace bien, por lo menos las Select de las tablas QrCab y QrPre, me hace el Edit, el Post el Commit sin errores pero la base datos no se actualiza.
|
#4
|
||||
|
||||
No entiendo como puede funcionar con comillas, pero si dices que lo hace, será así.
De todos modos, si te fijas en el Select, los parámetros no tiene comillas (:IDMEN) Por lo tanto, creo que por lo menos los parámetros en el Update tampoco deberían llevarlas: También puedes probar el quitar la parte OLD_ del parámetro
Y finalmente, si no te da ningún error, puede deberse a que todo está dentro de algún bloque try...except más amplio. Prueba lo siguiente para ver si falla en algún lado:
Última edición por duilioisola fecha: 10-02-2009 a las 15:37:57. |
#5
|
|||
|
|||
Probaré esto último a ver que tal. Lo de los parámetros es muy curioso. En la select me los acepta sin comillas pero en el update no me los acepta sin comillas a no ser que los haya usado en la select. Supongo que en el update son parámetros referidos a campos de la base de datos. Si intento en el update algo del tipo
y luego en Delphi pongo me da error de 'Field PROCE not found' |
#6
|
|||
|
|||
Rectificación
Me acabo de dar cuenta de que solo me actualiza el último registro. ¿Eso quiere decir que el ApplyUpdates lo tengo que hacer registro a registro?. He pasado el proceso dos veces. La primera vez me ha actualizado el último registro que estaba con el campo 'procesado' a ceros. La segunda vez con el último en ese momento.
|
#7
|
||||
|
||||
Hola Garfio, el tema de las comillas se debe muy posiblemente a que tienes un charset establecido. Al menos así me pasó a mi en Firebird 1.5. Por error establecí un charset y todo tuve que entrecomillar. Realicé una copia de la metadata, por las dudas, y cambié todo los charset y collate de los campos "string" a NONE. Me aseguré además de que en SET NAMES también figure NONE. Volví a crear la base de datos, y ya no fue necesario más comillas.
Por el tema del código, tendría que sentarme a ver donde puede estar el error. Saludos, |
#8
|
|||
|
|||
Probaré lo que dices, pero solo por curiosidad, porque la base de datos no es mía y no se si la puedo cambiar así como así.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TFileListBox no se actualiza | jfadelphi | Varios | 2 | 27-09-2008 11:50:56 |
No actualiza IBQ | trex2000 | Conexión con bases de datos | 2 | 19-01-2007 20:52:20 |
Qreport actualiza datos | royrogers84 | Varios | 2 | 24-11-2006 17:41:07 |
No actualiza | trex2000 | Firebird e Interbase | 2 | 28-01-2005 23:43:20 |
No actualiza . . . | Agar23 | Conexión con bases de datos | 12 | 25-05-2004 09:27:52 |
|