如何使用Delphi函数从数据库返回数据?

时间:2018-09-21 07:40:12

标签: postgresql delphi firedac

我的Delphi应用程序使用firedac连接到了postgres数据库,我想编写一个可以返回选择查询结果的delphi函数,该函数的代码和返回类型应该是什么?

1 个答案:

答案 0 :(得分:0)

here所述,您可以执行以下操作。

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

更新

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;