Ver Mensaje Individual
  #5  
Antiguo 18-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
¿Pues no resultaría más comodo devolver un TQuery?
Código Delphi [-]
 var q:Tquery;
begin
 q :=  CreaQuery('s_query', 'SELECT * FROM CLIENTES');
 q.Open;
end;
Ya en el datamodule:
Código Delphi [-]

procedure TDatamodule.CreateQuery(const Name:string; sql: string):TQuery;
begin
  Result := TQuery.Create(self); // el datamodule se encarga de destruirlo
  Result.Database := // tu objeto Database;
  // configurar las demás propiedades;
 Result.Name := name;
 Result.sql.text := sql;
end;

Tal y como veo la cosa, quizás fuera bueno añadir todas las querys creadas a un TStringList, así los tendrías agrupados, facilitando la destrucción o el acceso a los mismos.

Edito: El problema que veo, es que un datamodule tendrá muchisimas tablas, querys, campos persistentes etc, realizar un bucle con FindComponent por todos ellos hasta encontrar el query deseado puede ser excesivo, con el TStringList, sería como acceder con un IndexOf a un StringList. En el Stringlist, almacenas el nombre del Query (parámetro Name), despues a su objeto asociado, le añades el Query Creado.

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: 18-10-2006 a las 15:15:04.
Responder Con Cita