Ver Mensaje Individual
  #10  
Antiguo 02-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Según tu último mensaje, quizás una función de este estilo te sirva:
Código Delphi [-]
function CreateQuery(sql:string):TQuery;
begin
  Result := TQuery.Create(nil);
  Result.DatabaseName := bla bla...
  Result.sql.text := sql;
end;
hecho esto, ahora tienes 2 formas de usarla:
Código Delphi [-]

var q :TQuery;
 q := CreateQuery('select * from tabla');
 q.Open;
 q.Free;

 q := CreateQuery('update tabla1 set campo1 = 32');
 q.ExecSql;
 q.Free;

En definitiva, puedes crear tantos querys como quieras, pero sin tener los componentes en tu ventana dando la lata.

Edito otra vez más:

Si una query va a estar ligada a un Grid, por ejemplo, para mostrar datos al usuario, no reutilices esa query para nada, déjala para ese menester nada más.

Si quieres tener una query, que solo se usa en determinadas ocasiones, y sabes que nunca va a solaparse su ejecución con otras que usen esa misma query, podrías usar una variante de esa función:

Código Delphi [-]
function ChangeQuery(qry:TQuery; sql:string):TQuery;
begin
  if qry = nil then 
    Result := TQuery.Create(nil)
  else
  begin
    if qry.Active then 
      Qry.Close;
      Result := qry;
  end;
  
  Result.DatabaseName := bla bla...
  Result.sql.text := sql;
end;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 02-03-2007 a las 12:48:09.
Responder Con Cita