在 Delphi 记录集中循环参数

Cycling through parameters in a Delphi Recordset

我有一个带有可变数据集的 delphi 数据源。这些数据集具有可变数量的参数。我希望能够将数据集中所有参数的值修改为一个设定值。我正在尝试使用参数的 .Items[] 属性 遍历集合中的所有参数,如下所示:

 with (datamoduleSearch.datasourceSearch.DataSet as TADODataSet) do
  begin
    Close;
    i := 0;
    while assigned(Parameters.Items[i]) do
    begin
      Parameters.Items[i].Value := SearchText;
      inc(i);
    end;
    Open;
    Active := True;
  end;
end;

但是这失败了,因为我怀疑我没有正确使用分配的程序。有什么方法可以找到记录集中的参数数量并按照我描述的方式遍历它吗?

改为使用 for 循环。您也可以直接引用 Parameters[],因为 Items 是默认值 属性:

for i := 0 to Parameters.Count - 1 do
    Parameters[i].Value := SearchText;