добрый день форумчане, сегодня встретил ошибку, ни как не могу с ней разобраться, да и природа ее возникновения абсолютно непонятна.
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 как мне кажется..
Буду благодарен за любую помощь!