FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
AdoQuery no hace Post correctamente
Buenas! Mi primer consulta en el foro, espero que me puedan ayudar. Les comento:
Tengo un AdoQuery al cual lo lleno con los datos de una consulta SQL, ese AdoQuery tiene un TFieldBoolean y esta conectado a una grilla, la grilla tiene una columna de tipo check en la cual debería poder editar el valor de la FieldBoolean... la consulta se realiza correctamente y hasta me deja hacer click y cambiar el valor en la grilla, pero cuando cambio de registro este valor vuelve al que estaba anteriormente... Para probar, a demás agregué la siguiente función que la llamo desde un botón: y sigue sucediendo lo mismo... Si por ejemplo el valor estaba en false, cuando hago aqErroresCORREGIR.Value := not aqErroresCORREGIR.Value pasa a true; pero al hacer el post, el valor vuelve a falso... Que puede estar pasando? Última edición por marcoszorrilla fecha: 26-10-2011 a las 17:43:57. |
#2
|
||||
|
||||
Es posible que lo esté grabando, haz una prueba, cierra la DB y la abres de nuevo, comprueba el valor, si ha cambiado, tienes que refrescar el DBGrid, cerrando y abriendo de nuevo.
Un saludo. |
#3
|
||||
|
||||
Por los datos que das no parece tener lógica, el problema es que es difícil saber qué puede estar pasando.
Supongo que ninguno de los componentes implicados estará en sólo lectura y que no utilizas transacciones. Si no puedes dar más datos, lo más sencillo ta vez sería que prepararas un pequeño proyecto con un único formulario y lo subieras. ¿Qué base de Datos utilizas? No lo comentas. Otra cosa que se me ocurre es que estés utilizando una consulta SQL "no-actualizable" (por ejemplo si tiene JOIN's) ¿Puedes poner la consulta? P.D: Bienvenido a los foros.
__________________
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. |
#4
|
|||
|
|||
La base de datos que utilizo es SQLServer 2008.
A demás, la consulta tiene JOINs; explico un poco más detallado el flujo del programa, creo una tabla temporal y la lleno con ciertos datos (estos datos salen de un archivo de texto, y los cargo en la tabla con la instrucción BULK INSERT), luego hago la consulta:
CAST(0 AS BIT) AS [CORREGIR] es el campo que esta asociado a la columna tipo check de la grilla... yo no quiero actualizar nada en la base de datos, lo que quiero es que el usuario seleccione algunos registros de la grilla, para luego trabajar con ellos... Otra cosa, la grilla es uns TdxDBGrid; de todas formas por lo que me comentan y por lo que probé no debe ser un problema de la grilla. Con respecto a que los componentes esten en solo lectura, ninguno esta en esta condición... como expliqué en el mensaje anterior, me deja cambiar el valor en la grilla o en el AdoQuery, pero cuando cambio de registro o hago AdoQuery.Post vuelve al valor original. Desde ya muchas gracias a ambos por las respuestas!!!! |
#5
|
||||
|
||||
El problema es que no puedes hacer un POST sobre esa consulta no-actualizable.
Cuando tú marcas el check del Grid, que está "ligado" esa consulta,, el intenta actualizar el campo con el nuevo valor y eso es lo que no puede hacer. Hay que decir, que hasta que no haces el Post no estás cambiando el valor en ningún sitio. Sí que ves el cambio en el Grid, pero no es un cambio real, simplemente es temporal hasta que se hace el POst; Cuando haces el POst y no se puede cambiar, te lo devuelve al valor anterior. Tal vez no te estoy entendiendo.
__________________
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. |
#6
|
|||
|
|||
Ok! Entonces mi duda ahora es si hay alguna forma de poder modificar esos datos que traigo en la consulta... teniendo en cuenta que esta actualización no tiene que ser a nivel de la base de datos; ya que lo único que necesito es que el usuario checkee en la grilla los registros que le interesan (en esta columna de tipo check que tiene asociada al campo que en la consulta viene: "CAST(0 AS BIT) AS CORREGIR"), para que después el programa pueda recorrer esos datos y ver cuales estan checkeados (mirando el campo aqErroresCORREGIR.Value)
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Maximizar correctamente | piccolo2101 | Varios | 4 | 22-03-2014 13:35:59 |
No se imprime correctamente un doc PDF | xio | Impresión | 1 | 07-02-2008 17:38:38 |
zquery hace un auto-post (el muy cabron) | source_code | Conexión con bases de datos | 9 | 07-03-2007 21:32:29 |
El Adoquery No Me Hace Una Subconsulta | chetos7 | SQL | 1 | 15-01-2007 23:45:08 |
IBDatase Insert Post Edit Post | ariefez | Firebird e Interbase | 4 | 12-10-2005 01:53:04 |
|