Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-10-2007
aikai aikai is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
aikai Va por buen camino
Question Mostrar resultados query SQL

Hola a todos, soy nueva y apenas he usado delphi para acceso a bbdd, solo aplicaciones muy sencillitas. Lo que necesito tb será sencillo, pero no para mí

Se trata de lo siguiente: tengo una bbdd access y una consulta en SQL y quiero hacer una aplicación en la que, al clicar un botón, muestre el resultado de la query.

Bueno, después de pelearme con los copmponentes database y query no he conseguido nada de nada.

help!
Responder Con Cita
  #2  
Antiguo 17-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
¿Que componentes de conexion a base de datos usas?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 17-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola aikai
Bienvenida al club, por favor lee la guia de estilo, te sera util por aqui.
Con relacion a tu pregunta:
1-Me parece que estas usando los componentes de la paleta BDE, te aconsejo que utilices los componentes de la paleta ADO, te simplificaran mucho todo.
2-No indicas si la sentenciq sql la tienes en el query o si la haces via ejecucion, eso variaria un poco el como hacer la consulta, en tal caso una consulta sencilla seria:
Con ADOQuery que es el que te recomiendo;
Código Delphi [-]
ADOQuery1.SQL.Text:=  ' Select * from tutabla ';
ADOQuery1.Open;
Esta consulta tambien puede estar en el string del query, siendo casi lo mismo.
Ahora para visualizar los datos de esta consulta:
1-coloca por ejemplo un BDGrid en el form
2-Coloca un DataSource y lo relaciones en su propiedad Dataset con el query.
3-Relaciona el dbgrid con el datasource en su propiedad dataSource.
Y listo.
Espero te sirva, si no entiendes algo, con gusto te ayudamos.
Saludos
Responder Con Cita
  #4  
Antiguo 18-10-2007
aikai aikai is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
aikai Va por buen camino
OK, gracias a ambos por la rapidez.

Sí, estaba utilizando BDE. He intentado hacer lo que me comentas, Caral.

Lo explico lo mejor que pueda...

1. Creo el AdoConnection y lo enlazo con el alias que tiene la bbdd. La prueba de conexión es satisfactoria.
2. Creo el ADOQuery. En su propiedad "SQL" escribo la sentencia (ya que siempre será la misma).
3. Creo un botón con ADOQuery1.Open;
4. Por último establezco todas las relaciones que me indicas en tus pasos (datasource, dbgrid...)

Al ejecutar y pulsar el botón me pide el login de la base de datos (ADOConnection), si le doy a OK en blanco me salta error

Gracias de nuevo y perdonad el desconocimiento.
Responder Con Cita
  #5  
Antiguo 18-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui en el wiki del club hay varios ejemplos de lo que necesitas hacer.
Aqui uno especifico en wink.
Aqui hay otro.
Espero te ayuden, esta muy completos.
Saludos
Responder Con Cita
  #6  
Antiguo 18-10-2007
aikai aikai is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
aikai Va por buen camino
Muchas gracias, ya conseguí solucionar el primer problema, se debía a la propiedad LoginPrompt del ADOConnection que por defecto está a true.

El error que me da ahora estoy casi segura de que es por la sentencia SQL, la he probado dentro de Access y sin problemas. ¿Será que no interpreta el INNER JOIN? Os la pongo aquí a ver si me podéis echar otra manita

SELECT Sum(IIf(IsNull(g.exrate),gp.total_inv,(gp.total_inv)/g.exrate)) AS INVERSION,
Sum(IIf(IsNull(g.exrate),gp.total_ganado-gp.total_inv,(gp.total_ganado-gp.total_inv)/g.exrate)) AS BENEFICIO, (BENEFICIO/INVERSION)*100 AS MARGEN, Format(g.date'yyyy') & ", " & Format(g.date,'mm') AS meses
FROM tabla1 AS g INNER JOIN tabla2 AS gp ON g.id = gp.id
WHERE gp.id = (select prefer_valot from prefs where pref_key = 'PRIN')
GROUP BY Format(g.date,'yyyy') & ", " & Format(g.date,'mm')
ORDER BY Min(g.date);
Responder Con Cita
  #7  
Antiguo 15-11-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Aqui uno especifico en wink.
Hola, he seguido el magnífico tutorial hecho en Flash, es una pasada, he comprendido muy bien como hacer una aplicación sencilla rápidamente.

Mi duda es, ¿cómo podría hacer lo que se explica en el tutorial pero si mi base de datos estuviera en un equipo remoto?

Me interesa mucho ese aspecto pero no encuentro nada.

Gracias de nuevo y un saludo.
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 obtengo los resultados de un query richy08 PHP 6 09-10-2007 00:52:35
mostrar resultados en form2 arespremium OOP 7 01-09-2007 21:25:46
modificar resultados de un query en la BD Choclito Conexión con bases de datos 2 15-11-2006 00:12:50
Validar resultados de Query Supermagayin SQL 4 20-07-2006 23:36:21
Copiar los resultados de un Query a otro CORBATIN Conexión con bases de datos 2 13-01-2005 16:32:34


La franja horaria es GMT +2. Ahora son las 15:31:57.


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