Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Mostrar resultados query SQL (https://www.clubdelphi.com/foros/showthread.php?t=49289)

aikai 17-10-2007 21:00:52

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í :D

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!

jhonny 17-10-2007 21:14:35

¿Que componentes de conexion a base de datos usas?

Caral 17-10-2007 21:15:37

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

aikai 18-10-2007 01:04:53

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 :confused:

Gracias de nuevo y perdonad el desconocimiento.

Caral 18-10-2007 03:28:10

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

aikai 18-10-2007 10:29:02

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);

kakarotv5 15-11-2007 15:16:51

Cita:

Empezado por Caral (Mensaje 239350)
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.


La franja horaria es GMT +2. Ahora son las 03:57:12.

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