如何使用 Delphi 中的 SQLQuery 组件访问 Select count(*) 的结果

C M*_*att 0 sql delphi firebird dbexpress

我正在使用 Delphi RAD Studio 9 和 Firebird 2.5

我想使用符合特定条件的行数计数。当我把

Select count(*) from VRDB where Lname - 'SMITH'
Run Code Online (Sandbox Code Playgroud)

进入 SQL 属性,打开 SQLQuert1 后,我收到错误消息

SQLQuery1: 无法确定 %s 的字段名称。

我认为这意味着 Firebird 或 Delphi 不知道如何处理结果。

如何捕获查询结果?(我的查询语句使用 isql 工作得很好。)

Mar*_*ynA 5

在 Delphi 10 Seattle 中使用 Firebird 数据库,以下内容对我来说效果很好:

procedure TForm2.btnCountClick(Sender: TObject);
begin
  SqlQuery3.Sql.Text := 'select count(*) from maimages';
  SqlQuery3.Open;
  Caption := IntToStr(SqlQuery3.Fields[0].AsInteger);
end;
Run Code Online (Sandbox Code Playgroud)

顺便说一句,“RAD Studio 9”指的是哪个 Delphi 版本?如果你指的是 Delphi 2009,D7 之后我拥有的最早的 Delphi 版本是 XE4,上面的代码也可以正常工作。