Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
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-07-2006
Alexita22 Alexita22 is offline
Miembro
 
Registrado: jul 2006
Ubicación: Mexico
Posts: 14
Poder: 0
Alexita22 Va por buen camino
DbGrid Modificable

Hola:

Deseo saber si en Delphi existe una propiedad para el DbGrid que funcione igual que al AllowUpdate del DataGrid de Visual Basic ya que deseo realizar Modificaciones en el DbGrid para posteriormente guardarlas en la BD, si existe, ¿me podrian decir cual es y como funciona?

Gracias
Responder Con Cita
  #2  
Antiguo 06-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si utilizas un DbGrid, conectado a una fuente de datos, una Tabla o una consulta modificable, los cambios que realices sobre la rejilla se guardarán directamente en la fuente.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 06-07-2006
Alexita22 Alexita22 is offline
Miembro
 
Registrado: jul 2006
Ubicación: Mexico
Posts: 14
Poder: 0
Alexita22 Va por buen camino
Asi lo uso

El DbGrid se encuentra relacionado con un Query y un Datasource y basicamente esto es lo que hago:

Query1.SQL.Clear;
Query1.SQL.Add('select * from vehiculos');
Query1.Open;
DataSource2.DataSet:=Query1;
dbgrid2.DataSource:=datasource2;
y me muestra todos los vehiculos con sus campos, lo que quiero es que me deje realizar modificaciones en el contenido del DbGrid es decir en los datos de los vehiculos para posteriormente guardarlos.
No se si me explico
Responder Con Cita
  #4  
Antiguo 06-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues bastará con que pongas la propiedad de la consulta RequestLive activada (True) y ya podrás hacer modificaciones en la consulta, si la tabla es Paradox, te obligará a tener una clave primaria para poder efectuar los cambios.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 06-07-2006
Alexita22 Alexita22 is offline
Miembro
 
Registrado: jul 2006
Ubicación: Mexico
Posts: 14
Poder: 0
Alexita22 Va por buen camino
No, no es tabla Paradox y el RequestLive que ¿mencionas es una propiedad del DBgrid?

Un Saludo y Gracias por Contestar tan rapido ya que nesesito solucionar esto lo mas rapido posible.
Responder Con Cita
  #6  
Antiguo 06-07-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues no es una propiedad del componente Tquery, por cierto que tipo de tablas estás utilizando.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 06-07-2006
Alexita22 Alexita22 is offline
Miembro
 
Registrado: jul 2006
Ubicación: Mexico
Posts: 14
Poder: 0
Alexita22 Va por buen camino
Utilizo MySql como manejador de BD y ahi creo mis tablas, ¿Entonces esa propiedad se la asigono al componente Query en el Object Inspector y como se encuentra asociado al DBGrid me permitira escribir en el para hacer las modificaciones?

Muchas Gracias en Verdad
Responder Con Cita
  #8  
Antiguo 11-01-2007
gama_blind gama_blind is offline
Registrado
 
Registrado: ene 2007
Posts: 8
Poder: 0
gama_blind Va por buen camino
yo andaba buscando hacer lo mismo,,, en un dbgrid modificable me interesaria que se pueda modificar solo una columna,,, habilite a True la propiedad RequestLive pero me marco un error 'Invalid use of keyword' Token 101.. saben a que se debe esto? lo hace cuando activo el Query.Active := True;

como comentario de ayuda:
El Query se modifica segun la eleccion en un DBLookupComboBox

ok ya arregle el error jejeje lo habilite en el codigo
Query.Active := True;
Query.RequestLive := True;

pero sigue sin poder escribir en la celda seleccionada, entro al acelda y se me selecciona el texto que contiene la celda y no me deja escribir...

Última edición por gama_blind fecha: 11-01-2007 a las 07:30:00.
Responder Con Cita
  #9  
Antiguo 27-03-2007
Natucha Natucha is offline
Registrado
 
Registrado: ene 2007
Posts: 7
Poder: 0
Natucha Va por buen camino
Red face dbgrid modificable

Buenas chicos, la pregunta la verdad es un poco al pedo porque tengo entendido que no se puede hacer... sin embargo no pierdo la esperanza.
Resulta que utilizo un dbgrid que cargo con un query, el problema es que el query es un rejunte de "inner join" de otras tablas... osea no es un acceso directo a un tabla.
Deseo seleccionar una fila y modificarla... de otro modo tengo que agregar una pantalla nueva a mi aplicacion.
Si alguien puede darme una mano se lo agradeceria.
besos a todos.
Responder Con Cita
  #10  
Antiguo 27-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Natucha: Necesitas un TUpdateObject. Dependiendo de los componentes que uses tendrá un nombre u otro. Básicamente ahí escribes las sql de actualización trabajando directamente sobre las tablas afectadas. Como bien dices, al usar inner joins no se puede editar el dataset, pero nada te impide enviar una actualización a una tabla concreta.

gama_Blind: Ojo a lo dicho para Natucha .

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 03-04-2007
Natucha Natucha is offline
Registrado
 
Registrado: ene 2007
Posts: 7
Poder: 0
Natucha Va por buen camino
Red face gracias!!

Gracias blind... cuido mi lenguaje. No me di cuenta
Responder Con Cita
  #12  
Antiguo 03-04-2007
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.282
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 Alexita22
Deseo saber si en Delphi existe una propiedad para el DbGrid que funcione igual que al AllowUpdate del DataGrid de Visual Basic ya que deseo realizar Modificaciones en el DbGrid para posteriormente guardarlas en la BD, si existe, ¿me podrian decir cual es y como funciona?
Otra opción a las comentadas es utilizar TClientDataset, que te permite realizar los cambios en memoria y una vez que has acabado con todos ellos "volcarlos" de una sola vez a la Base de Datos.
Esta opción es independiente de la Base de Datos que estés utilizando. Ya que se trata de un componente (que ya viene con Delphi) y que lo que hace es que te permite hacer los cambios en memoria, para finalmente realizar todas las actualizaciones de golpe (revisa en la ayuda TClientDataset y el método ApplyUpdates).
__________________
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
  #13  
Antiguo 16-04-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Revisa la propiedad autoedit del DataSource, debe estar en true si quieres editar los datos desde la grilla
Responder Con Cita
  #14  
Antiguo 28-12-2007
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
Talking Actualizaciones en DBGrid

Master:

Bueno, no se si llego un poco tarde.. pero lo que te propone Neftali, es lo mas simple. Ademas es lo que uso yo.
Usa un Query con la consulta de la tabla que vos quieras. Los campos que vienen desde otras tablas tendaras que ponerle en el editor de campos del Qery, que no son actualizables. este Qry lo enlacas con un DataSetProvider y de ahi a un ClientDataSet, de nuevo en el CDS agrgas los campos y los que no son de la tabla original les pones que no sea actualizables.
Par gravar los datos dentro de la tabla despues de modificar, ya que todo se hace en memoria , haces un ApplyUpate(0) del ClientDataSet y listo. No necesitas modificar ningun grilla. Si solo queres que se puedan modificar cierto campos de la grilla, usa los eventos de la misma grilla para limitar en que columna lo dejas entrar.
Espero te sirva y no haber llegado tarde.

Luis
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
Como exportar informes Rave a Word "modificable" zerelho Impresión 0 11-01-2006 13:59:11
PickList DBGrid (Pregunta acerca de los DBGRID) lazarous Varios 1 10-01-2006 09:53:12
Como extraer datos de un DBgrid a otro DBgrid mickey Conexión con bases de datos 13 29-01-2004 05:05:30


La franja horaria es GMT +2. Ahora son las 17:11:00.


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