Показать сообщение отдельно
  #1  
Старый 16.04.2010, 11:22
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
Печаль Ошибка при открытии датасета

добрый день форумчане, сегодня встретил ошибку, ни как не могу с ней разобраться, да и природа ее возникновения абсолютно непонятна.
Delphi 2009, MSSQL 2005, MDAC

Код:
function TMethodCardForm.MyFormShow(const aComparator_id:Integer;
  const aMeasureMethodId: Integer; const aIsCert:boolean;
  const aVWMethods:TMSQuery; const aAddMethod:TMSQuery): TModalResult;
begin
  if aMeasureMethodId = 0 then FFormType:=ftInsert
    else FFormType:=ftEdit;
  FqryAddMethod:=aAddMethod;
  FVWMethods:=aVWMethods;
  FComparator_id:=aComparator_id;
  with qryMethod do
    begin
    if active then close;
    ParamByName('measure_method_id').AsInteger:=aMeasureMethodId;
    Open;   //ошибка DataSet not in Edit or Insert Mode
    end;
  if FFormType = ftInsert then
    begin
    SetEditMode(false);
    qryMethod.Insert;
    qryMethod.FieldByName('is_certificated').AsBoolean:=aIsCert;
    qryMethod.FieldByName('is_active').AsBoolean:=true;
    end
      else
        begin
        SetEditMode(true);
        qryMethod.Edit;
        end;
  Result:=ShowModal;
end;

Похожих конструкций в приложении много, но именно эта почему то не работает, если вызывать со свойством Edit все гууд, но если с Insert то все печально.., какое-то время все работало, вроде не трогал эту часть кода, сейчас не хочет, не пойму., да и ошибка не свойствена методу open как мне кажется..

Буду благодарен за любую помощь!
Ответить с цитированием