Hola compañeros, tengo unas preguntas sobre el código expuesto:
Marcos, ¿Qué pasa con el objeto TQuery si pulsas varias veces el botón?,
¿Cuando se libera la memoria asignada a la variable q?
jorjito, ¿Realmente hace falta que sea una función?
Creo que lo que quieres es cambiar el SQL de la consulta y lanzarla, ¿no?
Yo pondría un componente TQuery en el formulario y definiría un método para
inicializar y lanzar la consulta:
Código Delphi
[-]
type
TForm1 = class(TForm)
Button1: TButton;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Query1: TQuery;
procedure Button1Click(Sender: TObject);
private
procedure Consulta(db:String;sql:String); public
end;
...
...
procedure TForm1.Consulta(db:String;sql:String);
begin
Query1.close;
Query1.DataBaseName:=db;
Query1.sql.clear;
Query1.sql.add(sql);
Query1.open;
end;
Salu2.