есть некий результат запроса, который имеет вид:
main_Id group_id 1 81 2 81 3 81 4 82
Нужно пробегая по записям формировать строки main_id, разделенные запятой с одинаковыми группами и выводить их скажем через ShowMessage
получается:
первая строка - 1,2,3 вторая строка - 4
Делаю так: (вроде как работает как надо)
| Код | cmp_QueryByField_.First; _Result := 0; id := f2.AsInteger; s := ''; while not cmp_QueryByField_.Eof do begin if f2.AsInteger = id then s := s + ' ' else begin if s[1] = ',' then System.Delete(s, 1, 1); ShowMessage(S); s := ''; end; s := s + f1.AsString; id := f2.AsInteger; cmp_QueryByField_.Next; end; ShowMessage(S);
|
Проблема в следующем, если результат запроса содержит порядка 3000 записей (строка будет состоять из порядка 2900 id' шников, разделенных запятыми) строка возвращается пустая (s = ''). |