Здравствуйте.
Ошибка в следующем
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;