Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta parametrica (https://www.clubdelphi.com/foros/showthread.php?t=18831)

jefraub 24-02-2005 09:18:38

Consulta parametrica
 
Hola a todos os explico mi problema:

En un form tengo un grid, el cual carga los datos a traves de una consulta SQL muy simple, el problema es que en determinado momento quiero que en ese grid se puedan filtrar las entradas ya que se trata de una base de datos con muchisimas entradas, por lo que quiero hacer en determinados momentos consultas paramétricas.

Mi pregunta es: ¿Puedo hacer una consulta en la que si quiero pasarle parámetros lo haga y en caso de que quiera sacar todas las entradas pueda tambien? Es decir, que al entrar en ese form me saque todas y mas tarde si se quiere filtrar que se le puedan pasar parámetros a esa consulta.

No se si me he explicado correctamente, espero que me hayais entendido.

Un saludo y muchas gracias por todo.

jplj 24-02-2005 09:58:37

Quizá puedas solucionarlo usandos distintas consulta para cada caso:

Código Delphi [-]


function TMain.Abrir_Consulta(SQL: String; Valores: Array of Variant): Boolean;
var
   i: Integer;
begin
   ADOQuery_1.Active:= false;
   ADOQuery_1.SQL:= SQL;
   for i:= 0 to High(Valores) do
      ADOQuery_1.Parameters[i].Value:= Valores[i];
   ADOQuery_1.Active:= true;
     
   // Aquí quedaría también por "intentar" poner la posición de la rejilla en la
   // misma posición que tenía antes de cambiar la consulta. 
end;

procedure TMain.Consulta_Inicial;
begin
    Abrir_Consulta( 'SELECT * FROM MiTabla;', [])
end;

procedure TMain.Consulta_Usuario(User: String);
begin
    Abrir_Consulta( 'SELECT * FROM MiTabla WHERE Usuario = :P0;', [User]])
end;

...


Otra posibilidad es utiliar la propiedad Filter del componente.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 14:25:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi