Показать сообщение отдельно
  #8  
Старый 19.01.2022, 00:42
pro100kos pro100kos вне форума
Прохожий
 
Регистрация: 23.12.2021
Сообщения: 3
Версия Delphi: Delphi 11
Репутация: 10
По умолчанию

В общем в потоке все перебирает отлично, но вот делаю запись в бд Access через синхронизацию
использую вот эту функцию RecordPositions. Создается большая очередь и программа работает не очень быстро из-за этого как можно произвести запись прямо в потоке? (например без синхронизации)
Код:
function RecordPositions(a,b,c:integer; d,e,r,t:string):string;
begin
      dm.AdQ_Pos1.Active:=true;
      dm.AdQ_Pos1.Append;
      dm.AdQ_Pos1.FieldByName('t').AsString := t;
      dm.AdQ_Pos1.FieldByName('b').AsInteger := b; 
      dm.AdQ_Pos1.FieldByName('c').AsInteger := c; 
      dm.AdQ_Pos1.FieldByName('d').AsString := d;
      dm.AdQ_Pos1.FieldByName('e').AsString := e; 
      dm.AdQ_Pos1.FieldByName('r').AsString := r; 
      dm.AdQ_Pos1.FieldByName('a').AsInteger := a; 
      dm.AdQ_Pos1.POST;
      dm.AdQ_Pos1.Active:=false;
      Exit;
end;
Ответить с цитированием