Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Modificar una sentencia SQL en tiempo ejecución (https://www.clubdelphi.com/foros/showthread.php?t=56372)

Alexandro 15-05-2008 15:47:11

Modificar una sentencia SQL en tiempo ejecución
 
Hola:
Como puedo modificar el SQL de Un Query en tiempo ejecución? Uso delphi 7 y una tabla paradox sin alias.

dec 15-05-2008 15:49:31

Hola,

¿De dónde sale esa "Query"? Si se trata de una cadena, pues nada te impide hacer con ella lo que necesites, ¿no? Creo que es precisa algo más de información...

Al González 15-05-2008 16:15:04

¿Te sirve algo como "Query.SQL.Text := NuevaSentencia;"?

Alexandro, ¿podrías compartirnos más detalles del caso? Gracias.

Al González.

Alexandro 15-05-2008 16:30:43

Modificar una sentencia SQL en tiempo ejecución
 
MIren:
Yo lo que quiero es que el usuario dependiendo del campo que el quiera ver se pueda cambiar el Query:
Ej: Yo tengo el query en blanco y al usuario decir yo quiero mostrar el camp o Nombre y apellido el query internamente me haga esto "SELECT nombre, Apellido FROM tabla.db". Si el Usuario quiere Edad entonces "SELECT Edad FROM tabla.db".
No se si explico mejor.
Por favor, espero que me ayuden.
Gracias por adelantado.

poliburro 15-05-2008 16:31:26

Cita:

Empezado por Al González (Mensaje 286869)
¿Te sirve algo como "Query.SQL.Text := NuevaSentencia;"?

Alexandro, ¿podrías compartirnos más detalles del caso? Gracias.

Al González.

Se me ocurre que podría ser

Código Delphi [-]
 With  Query.SQL Do Begin
    Text := 'Select * From ''rutadelatabla.db'';
    Open;
  End;



:P

Al González 15-05-2008 16:41:38

Cita:

Empezado por poliburro (Mensaje 286881)
Se me ocurre que podría ser

Código Delphi [-]
 With  Query.SQL Do Begin
    Text := 'Select * From ''rutadelatabla.db'';
    Open;
  End;
...

Hay un par de errores en tu código, Edgar. La cadena literal no está bien construida (faltó una comilla), y la propiedad SQL de un componente Query típico no tiene un método llamado Open. :p

poliburro 15-05-2008 16:45:57

Cita:

Empezado por Al González (Mensaje 286891)
Hay un par de errores en tu código, Edgar. La cadena literal no está bien construida (faltó una comilla), y la propiedad SQL de un componente Query típico no tiene un método llamado Open. :p


ajjajaa, ok corrijo (Hace tantos años que no toco paradox :P)

Código Delphi [-]
 
With  Query.SQL Do 
    Text := 'Select * From "rutadelatabla.db"';
Query.Active;

Al González 15-05-2008 16:59:53

Cita:

Empezado por Alexandro (Mensaje 286880)
MIren:...

Miro.

Cita:

Empezado por Alexandro (Mensaje 286880)
...el usuario dependiendo del campo que el quiera ver se pueda cambiar el Query:
Ej: Yo tengo el query en blanco y al usuario decir yo quiero mostrar el camp o Nombre y apellido el query internamente me haga esto "SELECT nombre, Apellido FROM tabla.db". Si el Usuario quiere Edad entonces "SELECT Edad FROM tabla.db".
No se si explico mejor....

Sí, ahora sí se entiende el propósito. :)

Mi recomendación sería que en tiempo de diseño definieras tu consulta en varias líneas:
Código SQL [-]
Select

From Tabla

Entonces, en tiempo de ejecución, sustituir la segunda línea por el campo o los campos que el usuario quiera consultar:
Código Delphi [-]
Query.SQL [1] := NombreDelCampo;

Espero te sirva esta forma de hacerlo. No dejes de contarnos cómo te fue.

Al González. :)

Alexandro 15-05-2008 17:22:01

Modificar una sentencia SQL en tiempo ejecución
 
1 000 000 de gracias a todos. Ya Funciona!!!:)
Sois los mejores.
Suerte y siguan así.
Chao


La franja horaria es GMT +2. Ahora son las 05:43: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