Adoquery获取结果(Delphi)

发布于 2025-01-20 20:38:22 字数 549 浏览 0 评论 0 原文

我试图从 Delphi 中的 ADOQuery 获取结果。我编写了这个函数,用于根据自定义 ID 从表中获取名称。

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;

但我不知道如何从 ADOQuery 返回结果。

I Tried to get result from ADOQuery in Delphi. I wrote this function for Get a Name from table according custom ID.

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;

But I don't know how can return Result from ADOQuery.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

も星光 2025-01-27 20:38:22

tadoquery > tdataset 的>。
您可以用
first first , ,下一步//docwiki.embarcadero.com/libraries/sydney/en/data.db.tdataset.prior“ rel =” nofollow noreferrer“> prior last 方法,并找出您是否以 eof

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

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

或者

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

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

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

open 查询后,光标将指向第一个记录。您无需在 Open 之后调用第一个方法。

TADOQuery is a descendant of TDataset.
You can iterate through the result records with the First, Next, Prior, and Last methods and find out if you've reached the end with Eof.

Within each result record you can access the fields with:

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

or

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

In this case you can access to the result using:

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

After you Open the query, the cursor is pointing the First record. You don't need to call the First method after Open.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文