Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-01-2010
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Actualizar DataSet,tabla en tiempo de ejecucion

Hola ,,, tengo una duda en el caso que hago alguna actualizacion en un registro de un dataset o una tabla y quiero que se mire en el sistema en tiempo de ejecucion y no que tenga q cerrar el programa y volver abrir. espero y alguien responda a mi duda......
Responder Con Cita
  #2  
Antiguo 13-01-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si la actualización la estás haciendo desde otro programa, bastaría con cerrar y volver a abrir el Dataset.
__________________
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.
Responder Con Cita
  #3  
Antiguo 14-01-2010
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
no la actualizacion la quiero hacer en el mismo programa si e abierto y cerrado el dataset pero si estoy en tal registro cuando hago eso se posiciona en el primer registro. y no se queda en el que estaba editando....
Responder Con Cita
  #4  
Antiguo 14-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Solo bastara refrescar el DataSet despues de la insercion,eliminacion o modificacion:
Código Delphi [-]
//codigo de eliminacion o insercion o modificacion
....
...
MyQuery.Refresh;// al final  
.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #5  
Antiguo 26-01-2010
ccorp ccorp is offline
Registrado
 
Registrado: ene 2010
Posts: 4
Poder: 0
ccorp Va por buen camino
Hola,
A mi me pasa que hago el "Tabla.Refresh" después de una modificación,
me lo actualiza, pero se va al primer registro de la tabla y por lo
tanto a la primera posicion del grid que tengo asociado.¿Alguien me podría
ayudar?

salu2

PD:me estreno en este foro,
Responder Con Cita
  #6  
Antiguo 26-01-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ccorp Ver Mensaje
Hola,
A mi me pasa que hago el "Tabla.Refresh" después de una modificación,
me lo actualiza, pero se va al primer registro de la tabla y por lo
tanto a la primera posicion del grid que tengo asociado.¿Alguien me podría
ayudar?

salu2

PD:me estreno en este foro,
Hola ccorp, bienvenido a los foros.
Te recomiendo que leas la Guía de estilo de los foros. Para nuevas preguntas es mejor que crees hilos nuevos.

En cuanto a tu pregunta, lo lógico para mantener la posición después del refresh es utilizar bookmarks.
__________________
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.
Responder Con Cita
  #7  
Antiguo 26-01-2010
ccorp ccorp is offline
Registrado
 
Registrado: ene 2010
Posts: 4
Poder: 0
ccorp Va por buen camino
Lo siento, ya lo se para la próxima.
Al final la cosa estaba en que no me funcionaba el "Refresh" (me dejaba
la línea del grid en blanco) y para actualizar he tenido que hacer un
"Close" y un "Open", pero claro, de esta manera, se iba al primer registro de la tabla. Entonces he utilizado los "bookmarks" (no los conocía) y me deja el registro activo en la posición central del grid, que más o menos me sirve, sino se puede dejar en la misma posición.
Muchas grácias.
Responder Con Cita
  #8  
Antiguo 26-01-2010
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
y porque no capturas en una variable la posicion en la que estas antes de refrescar y después despues de refrescar la recuperas.?
Responder Con Cita
  #9  
Antiguo 26-01-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Smile

He usado la idea que comentó Cocute y no he tenido problemas. Lo usaba con Firebird y los componentes IBX.

Seguro que se puede hacer de forma más elegante, pero no daba problemas.

Para posicionarse en el registro después de abrir el IBDataset, utilizaba el método Locate.

Saludos.
Responder Con Cita
  #10  
Antiguo 26-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

En este hilo ya se trato el tema de como mantener el registro actual selecionado.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #11  
Antiguo 26-01-2010
ccorp ccorp is offline
Registrado
 
Registrado: ene 2010
Posts: 4
Poder: 0
ccorp Va por buen camino
Me he explicado mal. Tengo un botón que modifica un campo (tipo check) del registro seleccionado en el grid y además, el botón lleva este código para capturar la posición,refrescar y después recuperar la posición del registro:

Código Delphi [-]

   tbHorarios.DisableControls;
   posicion := tbHorarios.GetBookmark;
   tbHorarios.Close;
   tbHorarios.Open;
   if posicion <> nil then
    begin
         tbHorarios.GoToBookmark(posicion);
         tbHorarios.FreeBookmark(posicion);
          tbHorarios.EnableControls;
    end;
Esto lo hace bien, el registro seleccionado es el correcto, pero cambia la vista del grid, se ha corrido el registro seleccionado al centro del grid. ¿Esto sería posible solucionarlo? que no cambie de vista.

Última edición por rgstuamigo fecha: 26-01-2010 a las 19:36:15. Razón: Estética
Responder Con Cita
  #12  
Antiguo 28-01-2010
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Si usas Firebird y el tipo de la transaccion es read_commited con el Refresh se actualiza perfectamente sin necesidad de abrir y cerrar..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #13  
Antiguo 29-01-2010
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 18
Cañones Va por buen camino
Cita:
Empezado por Delfino Ver Mensaje
Si usas Firebird y el tipo de la transaccion es read_commited con el Refresh se actualiza perfectamente sin necesidad de abrir y cerrar..
Ahora no me acuerdo, pero en su momento cuando trabajaba como vos decis con un ibdataset no había otra que marcar, cerrar, abrir y buscar la marca.
Esto en delphi 6.

Saludos.
Responder Con Cita
  #14  
Antiguo 05-02-2010
ccorp ccorp is offline
Registrado
 
Registrado: ene 2010
Posts: 4
Poder: 0
ccorp Va por buen camino
Al final lo solucioné como dice cañones, porque el "Refresh" no me funcionaba (me dejaba la línea del grid en blanco y tenía que cerrar y volver abrir el formulario). Grácias a todos los que intentaron ayudar con sus respuestas.
salu2.
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
cambiar datasource.dataset en tiempo de ejecución jzginez Conexión con bases de datos 2 30-11-2007 19:42:48
Actualizar campos en QReport en tiempo de ejecucion Goyo Impresión 3 13-07-2007 01:18:02
actualizar campos tipo moneda en un dbgrid en tiempo de ejecucion Goyo SQL 1 29-08-2006 23:14:04
Crear DataSet en tiempo de ejecución. Drahcir Conexión con bases de datos 6 13-04-2006 03:16:45


La franja horaria es GMT +2. Ahora son las 13:04:37.


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