Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 21
aladelta Va por buen camino
refresco de tabla

Hola amigos:

Despues de dias de resfriado y de trabajo fuera de casa, vuelvo a la programación y con una duda...

Investigando mas sobre firebird 2.0 y usando los componente mercury, dispongo un dataset con lo siguiente:
Código Delphi [-]
select * from pago
order by fecha
Y en la sql del refresh esto otro
Código Delphi [-]
SELECT 
  CODIGO,
  FECHA,
  NOMBRE
FROM pago
WHERE
  CODIGO = :CODIGO
ORDER BY FECHA
Ademas pongo un dbgrid, y comienzo a editar en el grid...y veo con horror que las modificaciones que hago en los campos fecha, no se ordenan...He hecho un refresh y tampoco se ordena, solo cerrar y abrir el dataset de nuevo, y esto me parece mal.

A alguien le ha pasado esto, o es que estoy haciendo algo mal....

Gracias por leer....
Responder Con Cita
  #2  
Antiguo 26-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 21
aladelta Va por buen camino
Hola de nuevo:

Estoy haciendo pruebas y no consigo saber porque al escribir en un campo el cual esta en el "order by" del dataset no ordena ese registro...

Si alguien sabe porque, por favor que me heche una manilla...

Gracias...
Responder Con Cita
  #3  
Antiguo 26-01-2007
Dracon Dracon is offline
Registrado
 
Registrado: jun 2006
Posts: 3
Poder: 0
Dracon Va por buen camino
Post

Hola. Q tal...

Necesitas ser un poco mas especifica en lo que quieres porque lo dejas muy al aire, dedicale un poco mas de tiempo y seguramente podremos ofrecerte una mejor ayuda...

Saludos!
Responder Con Cita
  #4  
Antiguo 26-01-2007
Avatar de Zeta
Zeta Zeta is offline
Miembro
 
Registrado: feb 2005
Posts: 215
Poder: 20
Zeta Va por buen camino
Es un problema de configuración de los componentes, mirate este PDF que tiene la solución:

http://www.clubdevelopers.com/delphi...tartfastfb.pdf

Igualmente si hacés una búsqueda por el foro vas a encontrar más.

Saludos
__________________
And I'd like an hour on the holodeck with Seven of Nine.
Responder Con Cita
  #5  
Antiguo 26-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 21
aladelta Va por buen camino
Hola amigos...

Tengo el documento pdf que he releido pero no saco en claro nada para poder solucionar esto....Y tambien he buscado por el foro y por internet pero no encuentro nada, parece ser, o bien que no le pasa a nadie, o que nadie se ha dado cuenta...

Mi interes, es que teniendo un dbgrid editable, introducir un dato en un campo, y que ese campo sea en puesto en la clausula "order by", por ejemplo fecha, y al pulsar intro para hacer el post desde el dbgrid de esa fecha, el registro se ordene automaticamente en el mismo dbgrid, de forma que la vista quede ordenada por fecha...

Esto se hace automaticamente desde paradox, con componentes ttable, ya que al elegir el indice de ordenacion, cada vez que modificas el valor de un campo, la ordenacion de la vista se hace automaticamente...

No se si me explico, pero a veces pasa que por el interes de buscar una posible solucion se pierde el norte para poder ser mas claro....al contrario que cuando lees post de otros amigos con problemas que los entiendes y eres mas desarrollador para poder explicar una posible idea a ese problema...

Gracias...
Responder Con Cita
  #6  
Antiguo 26-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 21
aladelta Va por buen camino
Hola de nuevo:

Aunque mirando, mirando, tengo la apreciacion que la clausula "order by ...", no actua como un indice de un ttable de paradox, a la hora de ordenar una vista en la que se ha modificado el valor de dicho campo "indice" que es el del "order by"...

En la base de datos, tengo un indice por el mismo campo que he puesto en la clausula "order by...", y para buscar con locate, pues muy rapido, pero una vez hecha la vista en el dbgrid, o cierro y abro el dataset o no se ordena por mucho que modifique valores en el dbgrid...

Gracias...
Responder Con Cita
  #7  
Antiguo 26-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En las ayudas de Interbase 6 de ibphoenix.com mira el apartado relacionado con las transacciones, commit, commitretaining, etc.

Incluso después del post, puedes cerrar y abrir de nuevo para que se vea los datos.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 26-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 21
aladelta Va por buen camino
Hola amigos:

Pero imaginaos que no trabajo en multiusuario, solo en un ordenador y ademas no tiene red...

si estoy en un dbgrid e introduzco un valor en un campo y cierro el dataset y lo vuelvo a abrir, puede ser un suplicio poder introducir datos de esta manera.
Porque lo que yo pregunto no es el tema de refresco de datos desde la bd sino cuando una tabla esta ordenada por un campo, cuando modifico en el dbgrid el valor de ese campo, el registro se deberia reposicionar en su orden de nuevo sin tener que abrir y cerrar.
Ejemplo, tenemos una tabla con los campos:
Cita:
fecha importe
----- -------
01/02/2006 1.000
05/03/2006 2.000
20/05/2006 3.000
si para obtener estos datos, utilizamos un sql como este:
Código SQL [-]
select * from tabla
order by fecha
y ahora en un dbgrid, modificamos el valor fecha del segundo registro, y ponemos 01/01/2006, deberia el registro ponerse el primero de la tabla...pues no, que se sigue quedando el segundo...y eso me destroza todo el invento, ya que con paradox y los ttable no me pasaba...

Saludos...
Responder Con Cita
  #9  
Antiguo 29-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 21
aladelta Va por buen camino
Hola de nuevo:

Pues que no hay manera, y no me gusta la idea de tener que cerrar y abrir un dataset cada vez que modifico el valor de un campo por el que se hace el "order by"...

Porras....

Y gracias...
Responder Con Cita
  #10  
Antiguo 30-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Ahh, ¿pero tú usas el grid para introducir datos? Para mí el suplicio es el propio DBGrid .

Yo pongo una serie de cajitas al lado del grid, autocompletado de datos, enter por tab y un boton Check en el Toolbar, de forma que si está presionado, al llegar al último Edit, hace un post, un insert y pone el foco en el primer Edit, (el usuario lo agradece).

Usa readcommited en la transacción para el tema de refresco. Aunque te sigo recomendando la lectura anterior.

Además, ¿quien ha dicho que la forma de trabajar tenga que ser la misma que en paradox? , si cambias de motor, debes cambiar de forma de pensar .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 30-01-2007
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Recuerda la lectura... pon especial atencion en los commit, que como tal es el problema que tienes en el momento...
y de pronto para mas adelante shao y suerte
Responder Con Cita
  #12  
Antiguo 30-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 21
aladelta Va por buen camino
Hola de nuevo:

Pos lo tengo claro, manque me cueste, pues tendre que cambiar, amigos, intentaba tener la misma forma de trabajar, pero veo que no puede ser...

Cada vez que se modifique el valor de un campo por el cual se realiza la ordenacion, pues hare un commit y abrire el dataset despues...

Porque, Lepe, en tu lectura veo la forma de insertar nuevos registros, pero cuando modificas el valor de una cajita y ese campo es por el que esta ordenada la vista del grid, por ejemplo, 1,2,3 y cambias el valor del segundo campo por un 4, la vista deberia tener 1,3,4 pero a mi me pone 1,4,3, y solo hago el post, ya que si hago el commit pues volvemos a empezar y si hago commitretaining no hace nada, y despues pongo un refresh y tampoco...

Bueno, gracias por todo y a seguir, que volvere....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Refresco de un dbgrid Ivan_25 C++ Builder 7 29-11-2005 11:46:18
Problema con refresco mar646 Gráficos 0 28-03-2005 12:03:11
Refresco carlomagno Firebird e Interbase 2 27-01-2005 19:59:28
Refresco de tablas Aprendiendo Firebird e Interbase 1 24-02-2004 22:59:17
Refresco de datos con ADO fjcg02 Conexión con bases de datos 2 23-01-2004 14:03:24


La franja horaria es GMT +2. Ahora son las 12:45:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi