Код:
if SysUtils.FindFirst(s+CheckListBox1.Items[i]+'\*.dbf',faAnyFile,f)=0 then
repeat
//if (f.name='.') or (f.name='..') then continue;
if (f.Attr=32) and FileExists(s+CheckListBox1.Items[i]+'\'+f.Name) then begin
SQL.Text:='select * from \'+CheckListBox1.Items[i]+'\'+f.Name;
Open;
First;
ADOMSSQL.SQL.Text:= 'select * from protocol';
try
ADOMSSQL.Open;
except on E:Exception do showmessage(E.Message);
end;
// цикл вставки
DisableControls;
ADOMSSQL.DisableControls;
while not EOF do //долгаааааааа
begin
ADOMSSQL.Insert;
ADOMSSQL.FieldByName('m_rec').Value:= FieldByName('m_rec').Value;
ADOMSSQL.FieldByName('d_rec').Value:= FieldByName('d_rec').Value;
ADOMSSQL.FieldByName('p_rec').Value:= FieldByName('p_rec').Value;
ADOMSSQL.FieldByName('s_rec').Value:= FieldByName('s_rec').Value;
ADOMSSQL.FieldByName('sensor').Value:= FieldByName('sensor').Value;
ADOMSSQL.FieldByName('date').Value:= FieldByName('date').Value;
ADOMSSQL.FieldByName('time').Value:= FieldByName('time').Value;
ADOMSSQL.FieldByName('dopmess').Value:= FieldByName('dopmess').Value;
ADOMSSQL.FieldByName('alarm').Value:= FieldByName('alarm').Value;
ADOMSSQL.Post;
Next;
end;
ADOMSSQL.EnableControls;
EnableControls;
end; // if
//showmessage(inttostr(SysUtils.FindNext(f))+' - '+f.Name);
until (SysUtils.FindNext(f)<>0);
Сделал пока так, но очень долго он добавляет. Ужасно долго. Может что-то можно исправить, или другое предложить?
А что это за DataPump (у меня D6 установлена)?