Доброе время суток. Столкнулся с такой проблемой.
У меня выборка происходит в цикле,запрос с 4 динамическими параметрами,потому в цикле.
Код:
col:=2; while Sheet.GetCellObject(col,3).Text <> '' do begin cgroup:=StrToInt(Sheet.GetCellObject(col,3).Text); subj:=Sheet.GetCellObject(col,2).Text; with IBQuery2 do begin Close; SQL.Clear; SQL.Text:=''; ParamByName('cgroup').AsInteger:=cgroup; ParamByName('subj').AsString:=subj; ParamByName('code').AsString:=code; Active:=true; Open; end; SetCellText(Sheet,col,4,IBQuery2.FieldByName('allh').AsString); col:=col+1; end;
Судя по DBGrid IBQuery сохраняет все записи, т.е. все три.. Но в цикле добавляет 3 раза последнюю в таблицу.. Подскажите как этого избежать?
Решение:
Active:=true;
Open;
А зачем дважды открытие вызывать?
Это же аналоги.