Если по простому, то я бы делал так:
Код:
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.
А по уму написал бы хранимую процедуру на сервере, и все ошибки обрабатывал бы там.