Как вернуть данные из базы данных с помощью функции Delphi? - PullRequest
0 голосов
/ 21 сентября 2018

Мое приложение Delphi подключено к базе данных postgres с помощью firedac. Я хочу написать функцию delphi, которая может возвращать результат запроса select. Каким должен быть код и тип возвращаемой функции?

1 Ответ

0 голосов
/ 21 сентября 2018

Как описано здесь , вы можете сделать что-то вроде этого.

function TMainForm.ReturnSomeData(AParamValue: string) : string;
begin
  query.Close;
  try
    query.ParamByName('PARAMFIELD').AsString:= AParamValue;
    query.Open;
    if query.RecordCount > 0 then
       Result query.FieldByName('FIELDNAME').AsString;    
  finally
    query.Close;
  end;
end;

Код выше, если вы поместили TFDQuery во время разработки и поместили SQL во время разработки.Если нет, то вы должны создать компонент TFDQuery во время разработки и заполнить свойство query.SQL.

, если у вас есть несколько значений, вам следует использовать:

while not query.Eof do
begin
  //save field value
  query.Next;
end

UPDATE

function TMainForm.ReturnSomeData(AParamValue: string) : TStringList;
var
  ExpoList: TStringList;
begin
  query.Close;
  try
    query.ParamByName('PARAMFIELD').AsString:= AParamValue;
    query.Open;
    if query.RecordCount > 0 then
    begin
      ExpoList:= TStringList.Create;
      while not query.Eof do
      begin
        ExpoList.Add(query.FieldByName('FIELDNAME').AsString);
        query.Next;
      end

      Result:= ExpoList; 
    end;
  finally
    query.Close;
  end;
end;
...