在运行时更改参数时刷新查询

时间:2017-02-26 18:14:04

标签: database delphi filter parameters refresh

我的程序假设根据组合框中的选定值过滤列表视图中的结果。问题:更改参数后列表视图没有刷新。

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  //FDQuery1.ParamByName('paramA').AsString:=Combobox1.Selected.Text;
  FDQuery1.Params[0].AsString:= Combobox1.Selected.Text;
  FDQuery1.open;
end;

我已经尝试FDQuery1.refresh但没有成功。

Listview和参数在设计时工作正常。所选文本也存在。运行程序时不会显示任何错误消息,只是没有刷新。

1 个答案:

答案 0 :(得分:1)

这样吗?

  FDQuery1.Close;
  try
    ListBox1.Clear;
    FDQuery1.ParamByName('Param1').AsString:= Combobox1.Selected.Text;
    FDQuery1.Prepare;
    FDQuery1.Open;
    while not FDQuery1.Eof do
    begin
      ListBox1.Items.Add(FDQuery1.FieldByName('Field1').AsString);
      FDQuery1.Next;
    end;
  finally
    FDQuery1.Close;
  end;