ADOQuery 获取结果 (Delphi)

ADOQuery Get Result (Delphi)

我试图从 Delphi 中的 ADOQuery 获取结果。我为根据自定义 ID 从 table 获取名称编写了此函数。

function GetNameByID(Id : Integer) : string;
var query : string;
  Begin
  ShowMessage(GetDBGridViewIndex().ToString);
  query := 'SELECT Name FROM Table1 WHERE ID=' + IntToStr(Id);
  With ADOQuery do
    Begin
       try
          SQL.Clear;
          SQL.Add(query);
          Open;
          First;
          Result:= // Need Get Result;
       finally
          Close;
       end;
    End;
    
    ShowMessage(result);
End;

但我不知道 return ADOQuery 的结果如何。

TADOQuery is a descendantTDataset。 您可以使用 First, Next, Prior, and Last methods and find out if you've reached the end with Eof.

遍历结果记录

在每个结果记录中,您可以通过以下方式访问字段:

Fields[Index].AsString
Fields[Index].AsInteger
...

FieldByName(FieldName).AsString
FieldByName(FieldName).AsInteger
...

在这种情况下,您可以使用以下方法访问结果:

Result := Fields[0].AsString;
Result := FieldByName('Name').AsString;

在您 Open 查询之后,光标指向第一条记录。您不需要在 Open.

之后调用 First 方法