我还有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连接的详细信息表中。
谢谢!
答案 0 :(得分:3)
我猜你在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;