Guardar query em array

11/03/2006

0

Bom dia Pessoal
Estou tentando guardar uma query um uma array de query ( utilizo o IBOxFirebird).

vmatsqls: array [0..150] of String;
vmatquery: array [0..150] of Tib_query;


procedure guardaquery(vtabela: Tib_query);
var i : integer;
vquery: tib_query;
begin
for i := 0 to length(vmatsqls)-1 do
begin
if vmatsqls[i] = ´´ then
begin
vmatsqls[i] := vtabela.name;
vquery:=vtabela;
vmatquery[i] := vquery;
exit;
end;
end;
end;

blz até ai funciona
depois crie um clausula where para a tabela, no caso vtabela referenciada acima, e executo um ´filtro´.
também até ai blz.
porém quando faço um limpaquery( procedure abaixo ) a query em vmatquery[i] está com o contéudo da query utilizada no filtro.

procedure limpaquery(vtabela: tib_query;vrzordem: Trzcombobox;vordem:integer);
var i : integer;
begin

for i := 0 to length(vmatsqls)-1 do
begin
if vmatsqls[i] <> ´´ then
begin
if alltrim(uppercase(vmatsqls[i])) = alltrim(uppercase(vtabela.Name)) then
begin
vtabela.ApplyUpdates;
vtabela.close;
vrzordem.ItemIndex := vordem-1;
vtabela:=vmatquery[i]; // aqui vmatquery[i] esta com o conteudo do filtro.
vtabela.Open;
end;
end
else
exit;
end;
end;

alguém sabe me dizer porque isso acontece e como arrumar isso?

Obrigado


Jubrovolski

Jubrovolski

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar