![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ADOQuerys con campos "If(..." no se actualiza en un DbGrid
Hola a todos...
Mi escenario : - Delphi 6 - MySQL - ADO para la conexión - TADOQuery, DataSetProvider yTClientDataSet. Tengo varias consultas en donde la sentencia Select tiene un campo con la función IF(). Ej.:
Hasta aquí, todo bien, el tema es que estos datos los muestro en una DbGrid, si hago una modificación o un insert (uso otro form para los ABM, no edito en la grilla directamente), al volver del ABM, los campos con "IF" no se actualizan, mientras que los otros campos si, incluso campos de la consulta que tengo mediante JOINS.Tengo que cerrar el form que contiene la grilla y al volver a abrirla, allí si se muestran los cambios...el tema es que necesito que los cambios se vean reflejados en la grilla al volver del form del ABM...¿alguna sugerencia....?. Desde ya, muchas gracias |
#2
|
||||
|
||||
En lugar de cerrar el form, haz un .refresh del dataset
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Hola Casimiro...
Gracias por tu respuesta.Estuve probando lo que me sugeriste con los siguientes resultados : En mi código, delpues del ClientDataSet.DataSet.Post, hago un ClientDataSet.DataSet.Refresh, pero recibo un mensaje de error como el siguiente : " EDatabaseError - Must apply updates before refreshing data", entonces, antes del .refresh, supongo, deberia hacer un ClientDataSet.ApplyUpdates(-1)...el tema es que desde la ayuda de Delphi (Delphi 6 en mi caso), explica el uso del ApplyUpdates en el ClientDataSet, pero....sorpresa!!!, al compilar, recibo este mensaje : "Error] TForm1.pas(437): Undeclared identifier: 'ApplyUpdates'". Se supone que si vengo usando los ClientDataSet en este form, y tal como dice la ayuda de Delphi, el ApplyUpdates deberia funcionar...¿o mi Delphi está rebelde...?. Saludos y gracias por la paciencia y la ayuda. |
#4
|
||||
|
||||
No conozco apenas los componentes ADO y no suelo usar los TClientDataSet
![]() Pero mientras alguien responde, puedes echar un vistazo al libro de Marteens, creo recordar que trae un apartado sobre los mismos. A ver si hay suerte ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
Muchas gracias Casimiro por tu atención.
Ya estoy leyendo el artículo que me pasaste.Al final, le encontré una pseudo-solución al tema hasta que lo pueda resolver mas "elegantemente", uso el método del TField, OnGetTex, al menos, visualmente para el usuario, es una solución.La ayuda de Delphi explica muy bien este método, pero si hace falta el detalle, lo publico para compartirlo con todos.(No estoy en la oficina, por lo cual no tengo el código a mano para publicarlo). Nuevamente, mil gracias. Saludos. |
#6
|
||||
|
||||
hola
creo que MySQL soporta la condicional , revisa esa estructura en la ayuda de mysql a ver si desde el query la traes ensablanda y solo tienes que mostrarla en tu front end
__________________
Ivan Lora http://www.arrobasoft.da.ru Valientes son aquellas personas que triunfan donde otros fracasan. Bienaventurado los que nada esperan porque jamas seran defraudados. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dbgrid no actualiza | rmenor | Firebird e Interbase | 3 | 06-10-2006 01:21:20 |
Campos M/D en 1 DBGrid | CarmaZone | Tablas planas | 2 | 21-07-2005 17:22:35 |
2 campos lookup en dbgrid | JRGustavo | Conexión con bases de datos | 0 | 30-06-2005 17:05:10 |
Dbgrid Y Campos Lookup | nax | Conexión con bases de datos | 3 | 01-12-2004 08:26:55 |
CAmpos de dbGRid | Mario1980 | Varios | 9 | 31-10-2004 03:34:12 |
![]() |
|