Показать сообщение отдельно
  #4  
Старый 02.02.2015, 16:39
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию

Код:
    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 установлена)?
Ответить с цитированием