Показать сообщение отдельно
  #5  
Старый 28.05.2018, 10:05
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Если по простому, то я бы делал так:
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
TelNom:=Edit1.Text;
Data.Module.ADOQuery.Close;         //  <---
//DataModule1.ADOQuery1.SQL.Clear;  //Это лишнее
if Trim(TelNom)='' then
  begin
    Application.MessageBox('Не указан номер телефона!','Ошибка',MB_ICONERROR);
    Exit;
  end;

DataModule1.ADOQuery1.SQL.Text ('SELECT Id FROM uchastniki  WHERE uchastniki.NomTel = '+ TelNom);  //<-- тут у меня сомнения в правильности запроса, ИМХО номер надо брать в кавычки
// DataModule1.ADOQuery1.ExecSQL;  //Это лишнее
DataModule1.ADOQuery1.Open;  //Active:=true;
//IdCode:=DataModule1.ADOQuery1.FieldValues['Id']; Такой конструкции даже и не знаю
if DataModule1.ADOQuery1.RecordCount>0 then
  begin
    Label1.Visible:=True;
//    Label3.Caption:=IntToStr(DataModule1.ADOQuery1.FieldValues['Id']);  //Такое извращение тоже в первый раз вижу
    Label3.Caption:=DataModule1.ADOQuery1.FieldByName('id').AsString;
  end
else
  begin
   ShowMessage('Пользователя с таким Номером телефона не зарегестрированно в нашем гольф клубе');
  end;
DataModule1.ADOQuery1.Close;
end;
 
procedure TForm2.Button2Click(Sender: TObject);
begin
Close;
Form1.Show;
end;
 
end.

А по уму написал бы хранимую процедуру на сервере, и все ошибки обрабатывал бы там.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием