Проблема с проверкой значений полей ADOTable - PullRequest
1 голос
/ 24 мая 2011

У меня есть еще одна проблема с Delphi.Я написал фрагмент кода, который должен проверить, равняется ли поле в таблице базы данных 0, и, если это правда, меняет цвет шрифта и заголовок определенной кнопки.Это бежит на создании главной формы.Однако, когда я запускаю программу, ничего не происходит - программа не появляется и я не получаю ошибок.Я серьезно не знаю, что случилось, кажется, что-то вроде бесконечного цикла.

Вот код:

procedure TForm1.FormCreate(Sender: TObject);
begin
ADOTableStorage.First;
while not ADOTableStorage.Eof do
    If ADOTableStorage.FieldByName('amount').AsInteger = 0 then
        begin
        btStorage.Font.Color := clRed;
        btStorage.Caption := 'Some items are out of stock!';
        Break;
        end;
    ADOTableStorage.Next;
end;

Примечание. Таблица ADOTableStorage находится в таблице сведений в соединении Master-Detail.

Спасибо!

1 Ответ

3 голосов
/ 24 мая 2011

Полагаю, вам не хватает начала / конца в цикле while.Попробуйте это.

procedure TForm1.FormCreate(Sender: TObject);
begin
  ADOTableStorage.First;
  while not ADOTableStorage.Eof do
  begin
    If ADOTableStorage.FieldByName('amount').AsInteger = 0 then
    begin
        btStorage.Font.Color := clRed;
        btStorage.Caption := 'Some items are out of stock!';
        Break;
    end;
    ADOTableStorage.Next;
  end;
end;
...