如何获得FDQuery结果?

时间:2020-05-28 08:12:58

标签: sql delphi vcl firedac

大家好,我的应用程序中有几种表单,我有一个测试按钮,我想在其中触发从另一个单元获取的查询。这是我的代码:

procedure TForm1.Button7Click(Sender: TObject);
var test : string;
begin
// test :=  Unit1.DataModule1.FDQuery2.Open.ToString;                  
 // Unit1.DataModule1.FDQuery2.ExecSQL;
 // test.ToString;
 // ShowMessage(Unit1.DataModule1.FDQuery2.Open);
 // Unit1.DataModule1.FDQuery2.Active := true;
  Unit1.DataModule1.FDQuery2.SQL.Text := 'SELECT CURRENT_DATE';
  Unit1.DataModule1.FDQuery2.Open();
  // Writeln(test);
end;

基本上,我希望能够使用例如结果数组或返回的任何数据类型,并将其分配给例如TEdit,然后对其进行更改,等等。我想将结果显示为字符串,但无法正确转换。您将如何存储响应?如果有问题,也请更正我的电话-因为我的TFDQuery2具有与SQL.TEXT相同的参数。是否可以仅以我可以显示或使用的方式触发该查询并获得结果?

1 个答案:

答案 0 :(得分:1)

TFDQuery.Open()执行了SELECT查询之后,您可以使用TFDQuery.Fields属性来访问返回的字段值,例如:

procedure TForm1.Button7Click(Sender: TObject);
var
  test : string;
begin
  Unit1.DataModule1.FDQuery2.SQL.Text := 'SELECT CURRENT_DATE';
  Unit1.DataModule1.FDQuery2.Open();
  test := Unit1.DataModule1.FDQuery2.Fields[0].AsString;
  Edit1.Text := test;
  Unit1.DataModule1.FDQuery2.Close();
end;