(Delphi) query.next 不工作

(Delphi) query.next not working

我需要帮助来修复我的代码...

我尝试使用此代码构建一些应用程序

Adoquery.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from schedule where every like ''%5%''');
ADOQuery1.Open;

if not ADOQuery1.Eof then
  begin
  ShowMessage('hallo '+ADOQuery1.fieldbyname('remark').AsString);
  ADOQuery1.Next;
  end
Else
  Begin
  end;

我的结果有2条数据记录,为什么只显示一条备注?

我尝试跟踪它并在 ADOQuery1.next 中发现了问题。在我的应用程序读取 ADOQuery.next 后,光标跳转到

end;
而不是返回到
if not ADOQuery1.Eof then
.

我的代码有什么错误吗?

执行不会返回到 if 语句,因为代码没有说明要这样做。您只有一个 if 语句,没有迭代。你需要迭代。例如使用 while 循环:

while not ADOQuery1.Eof do begin
  // do something
  ADOQuery1.Next;
end;