Array
(
)

duvia ao abrir todos os datasets

Njuniorba
   - 30 nov 2005

ola amigos fiz o seguinte:


procedure AbreDataSet;
var
i : Integer;
begin
for i := 0 to DM.ComponentCount -1 do
if DM.Components[i] is TpFIBDataSet then
begin
TpFIBDataSet(DM.Components[i]).Open;
end;
end;

** TpFIBDataSet eh do pacote FIBPlus, o qual estou usando, gostaria de saber como n abrir ou negar um dataset que so servirar para leitura ou execuçao de sql, ja q esta rotina abre tooooooodas as datasets que existem no DM

obrigado!!


Emerson
   - 30 nov 2005

uma das formas é você alterar a Tag desses datasets que não queira abrir.
a sua procedure ficaria assim:

#Código

procedure AbreDataSet; 
var
i : Integer;
begin
for i := 0 to DM.ComponentCount -1 do
if (DM.Components[i] is TpFIBDataSet)
and (TpFIBDataSet(DM.Components[i]).Tag = 0) then
TpFIBDataSet(DM.Components[i]).Open;
end;


ou seja: os componentes com Tag=0 seriam abertos. qualquer outro valor na Tag impediria esses datasets de serem abertos.