RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  21252 - DUDAS TQUERY
Autor:  David Sauce
Hola.

Recurro a este foro porque tengo problemas cuando uso el objeto TQuery.
Bueno, la duda es que no se si lo uso bien. Aqui pongo un ejemplo de codigo tipo de los que uso. Estan dentro de bucles, por lo que se ejecutan muchisimas veces.

with Query_GC100W2 do begin
close;
if prepared then
unprepare;
sql.clear;
sql.add('SELECT AR_PRIXACH,FA_CODEFAMILLE FROM
F_ARTICLE WHERE AR_REF = :AR_REF');
ParamByName('AR_REF').AsString :=
trim(Query_MDB2['ARTLAN']);
if not prepared then
prepare;
open;
end;

Con esto funciona, pero no se si es todo lo eficiente y correcto que debiera, ya que cuando uso mucho objetos TQuery en un mismo programa, que acceden a tablas muy grandes, llega un momento que el sistema se colapsa y me da un mensaje de FALTA DE MEMORIA. Supongo que será porque no la libero o algo así.

¿Alguien podría ponerme un ejemplo de como usar un objeto TQuery de la manera más eficiente y correcta posible?

Tengo muchas dudas:
¿Es necesario hacer el prepare siempre?
¿Es necesario hacer el unprepare siempre como lo hago yo?
¿Podrías ponerme un ejemplo de utilización de esto?
¿Se nota realmente el uso de estos dos métodos?
¿Es convenciente usarlos?
¿Donde debería usar el metodo Free?
¿Me falta algo en el código para que el uso del objeto TQuery sea todo lo correcto y eficiente


Nombre
Apellidos
Correo
Comentarios