Суббота, 18.05.2024, 19:53
Приветствую Вас Guest Member

Windows XP / 7 .

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
Форум <<Помощь по компьютерам>> » Delphi программирование » БД в Delphi » Ошибка с pFibDataSet
Ошибка с pFibDataSet
AdminДата: Четверг, 23.09.2010, 15:55 | Сообщение # 1
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Здравствуйте.
Ошибка в следующем
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;



 
Форум <<Помощь по компьютерам>> » Delphi программирование » БД в Delphi » Ошибка с pFibDataSet
  • Страница 1 из 1
  • 1
Поиск: