while BList.Count > 0 do
    begin
      Point := BList.Items[iTmp];
      with Dm.ADOQry do
      begin
        Close;
        sql.Clear;
        sql.Add(' Insert into B');
        sql.Add(' Values(:ID,:sn,0,0,:STime,:1,:2,:3,:4,:5,:6,:7:,:8,:9,:10,:11,:12,:13,:14,:15,:16');
        sql.Add(',:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35,:36,:37');
        sql.Add(',:38,:39,:40,:41,:42,:43,:44,:45,:46,:47,:48,:49,:50,:51,:52,:53,:54,:55,:56,:57,:58,:59');
        sql.Add(',:60,:61,:62,:63,:64,:65,:66,:67,:68,:69,:70,:71,:72,:73,:74,:75,:76,:77,:78,:79,:80,:81');
        sql.Add(',:82,:83,:84,:85,:86,:87,:88,:89,:90,:91,:92,:93,:94,:95,:96,:97,:98,:99,:100,:101,:102,:103');
        sql.Add(',:104,:105,:106,:107,:108,:109,:110,:111,:112,:113,:114,:115,:116,:117,:118,:119,:120,:121');
        sql.Add(',:122,:123,:124,:125,:126,:127,:128,:129,:130,:131,:132,:133,:134,:135,:136,:137,:138,:139,:140');
        sql.Add(',:141,:142,:143,:144,:145,:146,:147,:148,:149,:150,:151,:152,:153,:154,:155,:156,:157,:158');
        sql.Add(',:159,:160,:161,:162,:163,:164,:165,:166,:167,:168,:169,:170,:171,:172,:173,:174,:175');
        sql.Add(',:176,:177,:178,:179,:180,:181,:182,:183,:184,:185,:186,:187,:188)');
        parameters[0].Value := Point^.ID;
        parameters[1].Value := Point^.sn;
        parameters[2].Value := ChangeDate(Point^.STime);
        for iType := 0 to 187 do
        begin
          rTmp := Point^.SType[iType];
          if rTmp <> -1 then
            parameters[3 + iType].Value := rTmp;
        end;
        ExecSQL;
      end;
      Dispose(Point);
      BList.Delete(iTmp);
      Application.ProcessMessages;
    end;Blist大概只有50多个,但全部执行完需要35S,大家有好的方法吗?