Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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 как мне кажется..

Буду благодарен за любую помощь!
Ответить с цитированием
  #2  
Старый 16.04.2010, 11:43
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Обычно такое происходит на исполняемом запросе. Вы не спутали там чего? Может вы как-раз исполняемый пытаетесь открыть?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 16.04.2010, 11:59
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Да вроде все верно, вот сам запрос:
Код:
select full_name, short_name, comment, measure_sheme_id,
  count_cycle, count_measures, count_series, temp_max, temp_min, hum_max,
  hum_min, temp_variation, is_active, is_certificated 
from measure_methods
where measure_method_id = :measure_method_id
Все просто как в детском садике, запрос на выборку, по сути датасет отвечает за создание и редактирования одного метода измерений. Оно раньше работало, мало того, тестер сказал что он то работает то нет, но сколько я не пробовал, у меня не работает.
До меотда Open, датасет однозначно закрыт, но при открытии выдает эту ошибку..
Ответить с цитированием
  #4  
Старый 16.04.2010, 12:43
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Единственное, что приходит в голову это временно отказаться от блоков with и проследить, что куда идет.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 17.04.2010, 20:01
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Тема исчерпана, ошибка найдена..
Ответить с цитированием
  #6  
Старый 17.04.2010, 20:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

В чем проблема оказалась?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter