Как получить результат FDQuery? - PullRequest
0 голосов
/ 28 мая 2020

Привет, ребята. У меня есть несколько форм в моем приложении, и у меня есть тестовая кнопка, на которой я хочу запустить запрос, взятый из другого устройства. Вот мой код:

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 голосов
/ 28 мая 2020

После того, как 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;
...