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