Показать сообщение отдельно
  #2  
Старый 11.10.2025, 22:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,111
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А в чем проблема? Что конкретно не получается?
Идея, в принципе, правильная. Теперь просто в цикле надо обновить все записи. Ты не написал каким образом у тебя сделано выделение разных записей и какое значение надо присвоить полю otvetstvenniy. Если одно и тоже, то можно схитрить - все сделать одним запросом.

Пусть у тебя есть массив идентификаторов записей (как ты его соберешь - другой вопрос, что бы на него ответить надо больше информации). Тогда запрос можно сделать так:
Код:
var
  AID : Array Of Integer; // array with ids
  I : Integer;
  strIn : String;
begin
  ...
  strIn := '';
  For I := Low(AID) To High(AID)-1 Do
    strIn := strIn + AID[i] + ', ';
  strIn := '(' + strIn + AID[High(AID)] + ')';
  ...
  mQuery.SQL.Text := 'UPDATE tab_prolongatsiya SET otvetstvenniy = :otv WHERE id_prolongatsiya IN ' + strIn;
  myQuery.Parameters.FindParam('otv').Value := f_prolongatsiya.DBLookupComboBox2.Text;
  myQuery.ExecSQL;
  ...
Ответить с цитированием