Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2008
golf2008 golf2008 is offline
Miembro
 
Registrado: feb 2008
Posts: 151
Poder: 17
golf2008 Va por buen camino
TQuery y Dbgrid

Hola a todos, mi pregunta es como relacionar una TQuery en un DBgrid.
Porque lo único que tiene el DBgrid es el DataSource, pero me aparecen los DataSource de las Tablas, no de la Query.
Gracias
Responder Con Cita
  #2  
Antiguo 22-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola golf2008, tu Query tiene que estar enlazado a un DataSource y ese DataSource es el que enlazas con tu DBGrid.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 22-07-2008
golf2008 golf2008 is offline
Miembro
 
Registrado: feb 2008
Posts: 151
Poder: 17
golf2008 Va por buen camino
Gracias Caro por tu tiempo, pero lo tengo así configurado.
Tengo un Data Modulo donde están los Datasource y en el formulario el TQuery.
Este TQuery está relacionado con el DataSource que está en el DataModulo y el DBGrid con el mismo DataSource.
Gracias igual
Responder Con Cita
  #4  
Antiguo 22-07-2008
Avatar de RolphyReyes
RolphyReyes RolphyReyes is offline
Miembro
 
Registrado: ago 2004
Ubicación: Santo Domingo
Posts: 285
Poder: 20
RolphyReyes Va por buen camino
Smile

Saludos.

Creo conveniente que te des una vuelta por el wiki del Club.
__________________
Gracias,
Rolphy Reyes
Responder Con Cita
  #5  
Antiguo 22-07-2008
golf2008 golf2008 is offline
Miembro
 
Registrado: feb 2008
Posts: 151
Poder: 17
golf2008 Va por buen camino
????????????????????
Responder Con Cita
  #6  
Antiguo 22-07-2008
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
Siguiendo lo apuntado por los compañeros/as te tiene que funcionar, pero incidiendo en lo mismo.

Necesitas un Tquery a este le conectas un DataSource y a éste último tu rejilla.

Puedes tener todos los componentes en el formulario o en el DataModulo, pero enlazadas en la forma descrita.

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 22-07-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En el DM (TDataModule):
TQuery1
Datasource1.Dataset = TQuery1

En el Form (TForm)
DBGrid1.Datasource = DM.Datasource1
Responder Con Cita
  #8  
Antiguo 22-07-2008
golf2008 golf2008 is offline
Miembro
 
Registrado: feb 2008
Posts: 151
Poder: 17
golf2008 Va por buen camino
Gracias a todos, pero como dice marcoszorrilla no importa si está el DataModulo o en el Form.
El tema es que no me funciona.
Por ejemplo, pongan un TQuery, un DBGrid y un TEdit .
En el TEdit ingreso el Código del Cliente, al presionar <enter> ejecuto la query
SELECT * FROM clientes WHERE codigo='+Edit.text;
Se supone que en el DBGRID el puntero me tiene que quedar apuntando al Cliente del cual ingrese el código.
Pero me queda en el primer registro.

Gracias igual
Responder Con Cita
  #9  
Antiguo 22-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por golf2008 Ver Mensaje
SELECT * FROM clientes WHERE codigo='+Edit.text;
Con esa consulta te debería mostrar el registro o los resgistros donde el codigo es igual a tu Edit.Text y es normal que te aparezca el puntero en el primer registro. Tu dices que apunte al cliente del cual has introducido el codigo, pero con tu consulta ya lo tienes. Quieres que se siga mostrando toda la lista de tus clientes en tu DBGrid y sobre eso solo posicionarte en el cliente que tiene el codigo que has introducido?? si es así puedes utilizar la función Locate de tu Query.

Sería bueno que expliques mas sobre lo que quieres hacer.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #10  
Antiguo 22-07-2008
golf2008 golf2008 is offline
Miembro
 
Registrado: feb 2008
Posts: 151
Poder: 17
golf2008 Va por buen camino
Caro lo que quiero es que en el DBgrid aparezca el/los registros de la tabla Cliente filtrada por la Query.
Por ejemplo si en el TEdit pongo un código o categoría, quiero que luego de ejecutarse la Query muestre en el DBgrid el/los Clientes que se corresponden con el código o categoría ingresada.
Saludos
Responder Con Cita
  #11  
Antiguo 22-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Como estas ejecutando tu Query?, te pongo un ejemplo:

Código Delphi [-]
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
  begin
    Query1.Close;
    Query1.SQL.Text := 'SELECT * FROM clientes WHERE codigo='+Edit.Text;
    Query1.Open;
 
     //O
 
    Query1.Active:=False;
    Query1.SQL.Text:='SELECT * FROM clientes WHERE codigo='+Edit.Text;
    Query1.Active:=True;
  end;

Y para la categoria es solo aumentar un or en tu consulta, lo anterior funciona si tu campo codigo es entero, sino fuera entero debes añadir comillas.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #12  
Antiguo 22-07-2008
golf2008 golf2008 is offline
Miembro
 
Registrado: feb 2008
Posts: 151
Poder: 17
golf2008 Va por buen camino
Caro gracias por tu tiempo, yo utlizo la segunda opción de consulta.
Pero mas allá de eso no logro mostrar en el DBGrid el resultado de la consulta ejecutada con el TQuery.
Básicamente es ese mi problema.
Gracias
Responder Con Cita
  #13  
Antiguo 22-07-2008
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 has hecho las conexiones según lo que te han indicado, es posible que el problema sea que la consulta no devuelva ningún dato.

Por lo que te aconsejo que no pongas ninguna claúsula Where simplemente:
Código SQL [-]
Select * From MiTabla

Así podrás ir descartando los fallos que hacen que no te funcione la consulta correctamente.

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
  #14  
Antiguo 22-07-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
También puedes enviar el archivo .dfm del datamodulo y del form para que lo veamos. Yo creo que el problema está en cómo unes el DataSource con el TQuery y el DBGrid.
Responder Con Cita
  #15  
Antiguo 23-07-2008
golf2008 golf2008 is offline
Miembro
 
Registrado: feb 2008
Posts: 151
Poder: 17
golf2008 Va por buen camino
Por fin funcionó.
El tema es que hay que insertar otro TDataSource para que la consulta se relacione al DBgrid.
En total tiene que haber un TTable con su TDataSource.
Un TQuery, otro TDataSource (relacionando el TQuery en el Dataset) y el DBGRid relacionado al último TDataSource.
Gracias a todos por su tiempo
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
TTable o TQuery ?? Que uso ??? dinover7 Conexión con bases de datos 3 16-05-2007 18:54:36
TQuery nenufer Conexión con bases de datos 2 22-05-2006 16:41:03
Actualizar CAMPO del registro seleccionado con DBGrid,TQUERY y UpdateSQL cronixxx Conexión con bases de datos 0 05-07-2005 23:33:05
Ocultar movimiento cursor en dbGRid al recorrer TQuery. setry2 Conexión con bases de datos 2 23-03-2005 15:19:02
Búsquedas a través de TTable y/o TQuery y resultado en DBGrid nax Conexión con bases de datos 5 11-02-2005 05:08:55


La franja horaria es GMT +2. Ahora son las 07:16:54.


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