Сообщения пользователю

  • Автор темы vas
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V
#1
Доброго времени суток. Столкнулся с такой проблемой. Delphi7,ADO. Осуществляю выборку из ADOQuery:

procedure TForm4.SpeedButton4Click(Sender: TObject);
begin
if Length(Edit1.Text)>0 then
begin
DataModule6.Query_Country.Active:=false;
DataModule6.Query_Country.SQL.Clear;
DataModule6.Query_Country.SQL.Add('SELECT * FROM Country WHERE Country LIKE '+#39+Edit1.Text+'%'+#39);
DataModule6.Query_Country.Active:=true;
end;

Все супер работает.
Если такой записи нет мне надо пользователю сообщить,что то,что он ищет,не существует в базе,т.е. вывести сообщение типа:"Такой записи нет!"
Добавляю код:

begin
if MessageBox(Application.Handle,
PChar('Такой записи нет!'),
PChar ('Архив ver.1.0'),MB_OK+MB_ICONINFORMATION)=IDOK then
begin
DataModule6.Query_Country.Active:=false;
DataModule6.Query_Country.SQL.Clear;
DataModule6.Query_Country.SQL.Add('SELECT * FROM Country');
DataModule6.Query_Country.Active:=true;
end;

Вот тут-то и начинается проблема. Ввожу имеющееся в справочнике значение, программа отрабатывает, показывает запись, но следом идет сообщение "Такой записи нет!".
Подскажите,пожалуйста, что я делаю неправильно.
Спасибо
 

V88

Well-known member
22.10.2008
51
0
#2
А не проще бы было просто проверить пустой или нет Query:
Код:
if DataModule6.Query_Country.IsEmpty // если пустой
then begin 
MessageBox('Такой записи нет!',mtInformation,[mbOk],0);
.... //то сообщаем пользователь, что 'Такой записи нет!'
end;
 
V
#4
Спасибо всем ответившим, вопрос закрыт следующим образом:
Код:
procedure TForm4.SpeedButton4Click(Sender: TObject);
begin
if Length(Edit1.Text)>0 then
with DataModule6.Query_Country do
begin
Active:=false;
SQL.Clear;
SQL.Add('SELECT * FROM Country WHERE Country LIKE '+AnsiQuotedStr(Edit1.Text+'%', ''''));
Active:=true;
if IsEmpty then 
Application.MessageBox('Такой записи нет', 'Архив ver.1.0', MB_OK+MB_ICONINFORMATION);

end;
end;
 
Статус
Закрыто для дальнейших ответов.