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 06-02-2013
Theluar Theluar is offline
Miembro
NULL
 
Registrado: ago 2011
Posts: 44
Poder: 0
Theluar Va por buen camino
Question Como puedo actualizar datos de un TDBGrid. en tiempo de ejecución?

Hola a todos un cordial saludos y mis felicitaciones a todos los que hacen de este sitio uno de los mejores sitios de ayuda en programacion Delphi.

tengo Tdbgrid que al seleccionar una fila me muestra los datos en varios Tedit. y estos(Tedit) me permiten modificar o crear nuevos registros, segun el Tbutton o el procedimiento del boton al que se le de click( nuevo, modificar).

Las actualizaciones las realiza ala perfeccion junto con las creaciones de nuevos registros.

El problema es que quiero que, por ejemplo, alguardarse un nuevo registro, el TDBGrid me muestre la nueva fila o registro. o en su caso los cambios realizados en la modificación.

uso 2 TADOQuery, uno ligado al TDBGrid y el otro para ingresar los datos nuevos o modificaciones., (No uso el mismo por que el TDBgrid no me muestra todos los campos de la tabla, solo me muestra algunos.)

estuve leyendo algunos foros y algunos temas pero no pude resolver el problema. ya intente el refresh del query, close-open del query, enabled-disabled del datasource pero no. Trate de usar TDBedit con el mismo query pero no pude hacer que funcionara ya que no conozco mucho de estos componentes.


Espero aver sido claro con mi pregunta y me puedan ayudar, de antemano gracias.
Responder Con Cita
  #2  
Antiguo 06-02-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.048
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Entiendo, creo, que quieres presentar el último registro creado o modificado.
Para ello sólo has de buscarlo, ejemplo, si has creado/editado el registro con campo "codigo"=5, lo buscas y listo.
Código SQL [-]
select * from tabla where codigo=5
Responder Con Cita
  #3  
Antiguo 06-02-2013
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.288
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 usas el mismo query para mostrar y actualizar los datos deberían "actualizarse" de forma automática.

Si usas un query distinto, como comentas, lo lógico es cerrar el query de visualización y volver a abrirlo para que los cambios se vean reflejados. Si además utilizas Bookmarks, podrás "dejar el registro activo" en el mismo sitio donde estaba (pensando en el grid).

¿Qué Base de Datos está utilizando?
¿Estás utilizando transacciones?
__________________
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
  #4  
Antiguo 06-02-2013
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Quería comentarte que si quieres utilizar el mismo Query para visualizar los datos en el grid y para dar de alta o modificar lo puedes hacer ya que aunque la consulta te traiga todos los campos de la tabla en el DBGrid puedes seleccionar las columnas que quieres que muestre, aunque el Query tenga más.

Si por ejemplo tu Query es:

Código Delphi [-]
Query.SQL.Texst:='SELECT nombre,apellido,telefono,direccion FROM clientes';

Y solo quieres mostrar el nombre y el apellido en el DBGrid lo puedes hacer.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #5  
Antiguo 06-02-2013
Theluar Theluar is offline
Miembro
NULL
 
Registrado: ago 2011
Posts: 44
Poder: 0
Theluar Va por buen camino
Thumbs up Solucionado

hola a todos!!...

Les agradezco mucho sus prontas respuestas. Creo que mi pregunta no fue lo suficientemente entendible. Pero al leer cada una de las respuestas me dieron ideas con las cuales pude llegar a la solución.

Ahora el problema era que tenia un DBGRid que en todo momento(todo el tiempo en que esta abierto el form) me muestra solo algunos campos(codigo,nombre,existencia) de la tabla una tabla llamada productos. hasta aquí todo iba bien.

El Grid me permitía seleccionar el registro completo, NO CAMPOS, al dar clic a cualquier campo se selecciona toda la linea o registro, y este asu vez me mandaba todos los datos del producto a los edits ( cada edit con un campo de la tabla productos). cuando yo actualizaba o creaba nuevos registros.

al cerrar el query y abrirlo , tal como lo sugirió neftali, me marcaba errores, o solo no hacia nada y no me actualizaba el nuevo valor. (el objetivo era mostrar todos los datos mas el dato nuevo agregado o las modificaciones a los ya existentes)

.El problema era que yo tenia activo un evento del datasource (Evento -StateChange-) que utilizo para reajustar el ancho de las columnas. y al ejecutarse este me marcaba el error.

Lo que hice fue que antes de abrir y cerrar el query (Open- Close), deshabilite el datasource y despues lo habilite. y le agrege una condicion de que si el datasource estaba acrivo , se ejecute el procedimiento de ajuste de columnas y cuando no que lo omita.



muchas gracias a todos y disculpen si fui muy claro.
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
Actualizar DataSet,tabla en tiempo de ejecucion amerika111 Varios 13 05-02-2010 10:35:18
Cómo puedo agregar campos a un objeto TADOTable en tiempo de ejecución? OscarBravo Tablas planas 3 21-01-2009 16:05:48
Actualizar campos en QReport en tiempo de ejecucion Goyo Impresión 3 13-07-2007 01:18:02
¿Cómo puedo actualizar en el DBGrid los datos que inserto en la misma sesión? nuri SQL 3 18-07-2005 18:27:19


La franja horaria es GMT +2. Ahora son las 19:31:55.


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