Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2010, 03:15   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Здравствуйте.
Ошибка в следующем
Can't change sql textbecouse DM.FIBDS.SelectQuery dataset open

код следующий
Код:
 if FlagIzmNed=true then
      begin
         DM.FIBDS.Close;
         DM.FIBDS.SQLs.SelectSQL.Clear;
         DM.FIBDS.SQLs.SelectSQL.Text:=('SELECT * FROM NEDVIGEMOST WHERE'+
         '(NEDVIGEMOST."НАСЕЛЕННЫЙ ПУНКТ"='+QuotedStr(NasPunkt.Text)+')'+
         ' and (NEDVIGEMOST."УЛИЦА"='+QuotedStr(Ulica.Text)+')'+
         ' and (NEDVIGEMOST."ДОМ"='+QuotedStr(dom.Text)+')'+
         ' and (NEDVIGEMOST."КВАРТИРА"='+QuotedStr(KV.Text)+')'+
         ' and (NEDVIGEMOST."ФИО ВЛАДЕЛЬЦА"='+QuotedStr(vladelecFio.Text)+')');
         DM.FIBDS.Open;
         if DM.FIBDS.RecordCount=1 then
            begin
               DM.FIBDS.Close;
               DM.FIBDS.SQLs.SelectSQL.Clear;
               DM.FIBDS.SQLs.SelectSQL.Text:=('SELECT * FROM NEDVIGEMOST WHERE'+
               '(NEDVIGEMOST."НАСЕЛЕННЫЙ ПУНКТ"='+QuotedStr(NasPunkt.Text)+')'+
               ' and (NEDVIGEMOST."УЛИЦА"='+QuotedStr(Ulica.Text)+')'+
               ' and (NEDVIGEMOST."ДОМ"='+QuotedStr(dom.Text)+')'+
               ' and (NEDVIGEMOST."КВАРТИРА"='+QuotedStr(KV.Text)+')');
               DM.FIBDS.Open;
               if DM.FIBDS.RecordCount=2 then
                  begin
                     FlagBliznec:=true;
                     messagedlg('Проверка выполнена изменение возможно,'+
                     'имеется кваритира с таким адресом, квартира будет добавлена как'+
                     ' ,близнец',mtinformation,[mbOK],3);
                     AddButton.Enabled:=true;
                  end
               else
                  begin
                     messagedlg('Проверка выполнена изменение возможно,' ,mtinformation,[mbOK],3);
                     FlagBliznec:=false;
                     AddButton.Enabled:=true;
                  end;
             end
          else
             messagedlg('Квартира с таким адресом и владельцем уже имеется',mtwarning,[mbOK],3);
     end
   else
      DM.FIBDS.Close;
      DM.FIBDS.SQLs.SelectSQL.Clear;
      DM.FIBDS.SQLs.SelectSQL.Text:=('SELECT * FROM NEDVIGEMOST WHERE'+
      '(NEDVIGEMOST."НАСЕЛЕННЫЙ ПУНКТ"='+QuotedStr(NasPunkt.Text)+')'+
      ' and (NEDVIGEMOST."УЛИЦА"='+QuotedStr(Ulica.Text)+')'+
      ' and (NEDVIGEMOST."ДОМ"='+QuotedStr(dom.Text)+')'+
   ' and (NEDVIGEMOST."КВАРТИРА"='+QuotedStr(KV.Text)+')'+
   ' and (NEDVIGEMOST."ФИО ВЛАДЕЛЬЦА"='+QuotedStr(vladelecFio.Text)+')');
   DM.FIBDS.Open;
   if DM.FIBDS.RecordCount=0 then
      begin
         DM.FIBDS.Close;
         DM.FIBDS.SQLs.SelectSQL.Clear;
         DM.FIBDS.SQLs.SelectSQL.Text:=('SELECT * FROM NEDVIGEMOST WHERE'+
         '(NEDVIGEMOST."НАСЕЛЕННЫЙ ПУНКТ"='+QuotedStr(NasPunkt.Text)+')'+
         ' and (NEDVIGEMOST."УЛИЦА"='+QuotedStr(Ulica.Text)+')'+
         ' and (NEDVIGEMOST."ДОМ"='+QuotedStr(dom.Text)+')'+
         ' and (NEDVIGEMOST."КВАРТИРА"='+QuotedStr(KV.Text)+')');
         DM.FIBDS.Open;
         if DM.FIBDS.RecordCount=1 then
            begin
               FlagBliznec:=true;
               messagedlg('Проверка выполнена добавление возможно,'+
               'имеется кваритира с таким адресом, квартира будет добавлена как'+
               ' ,близнец',mtinformation,[mbOK],3);
               AddButton.Enabled:=true;
            end
         else
            begin
               messagedlg('Проверка выполнена добавление возможно,' ,mtinformation,[mbOK],3);
               FlagBliznec:=false;
               AddButton.Enabled:=true;
            end;
      end
   else
      messagedlg('Квартира с таким адресом и владельцем уже имеется',mtwarning,[mbOK],3);
end;
Причем код выполняется до конца выводится сообщение что все в порядке и после нажатия на кнопочку ок на messagedlg появляется ошибка. Раньше ее не было

Проблема решена.
Ошибка в логике условия необходимо было добавить составной оператор
Begin
end;

Последний раз редактировалось artemavd; 23.09.2010 в 07:21.
Lokos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
Это ошибка Delphi или моя ошибка??? bloodeagle Общие вопросы Delphi 3 12.11.2009 15:26
Ошибка в статье = ошибка в рограмме. Alex Cones Общие вопросы Delphi 14 29.07.2009 18:17
Ошибка в Аfor i:=1 to SI do. Пишит что ошибка в SI Алексей_xXx Помощь студентам 2 29.05.2009 00:09
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44