如何使用 Delphi 中的 SQLQuery 组件访问 Select count(*) 的结果
How do I access the result of a Select count(*) using an SQLQuery component in Delphi
我正在使用 Delphi RAD Studio 9 和 Firebird 2.5
我想使用符合特定条件的行数计数。
当我把
Select count(*) from VRDB where Lname - 'SMITH'
进入 SQL 属性 ,在打开 SQLQuert1 时,我收到错误消息
SQLQuery1: Unable to determine field names for %s.
我假设这意味着 Firebird 或 Delphi 不知道如何处理结果。
如何捕获查询结果? (我的查询语句使用 isql 运行良好。)
尝试使用
select count(*) CNT from VRDB where Lname = 'SMITH'
在 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;
顺便说一句,"RAD Studio 9" 是指哪个 Delphi 版本?如果您指的是 Delphi 2009,我在 D7 之后的最早 Delphi 版本是 XE4,上面的代码也可以正常工作。
无需更改您的查询字符串。只需引用 FieldByName ('COUNT').AsInteger.
我正在使用 Delphi RAD Studio 9 和 Firebird 2.5
我想使用符合特定条件的行数计数。 当我把
Select count(*) from VRDB where Lname - 'SMITH'
进入 SQL 属性 ,在打开 SQLQuert1 时,我收到错误消息
SQLQuery1: Unable to determine field names for %s.
我假设这意味着 Firebird 或 Delphi 不知道如何处理结果。
如何捕获查询结果? (我的查询语句使用 isql 运行良好。)
尝试使用
select count(*) CNT from VRDB where Lname = 'SMITH'
在 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;
顺便说一句,"RAD Studio 9" 是指哪个 Delphi 版本?如果您指的是 Delphi 2009,我在 D7 之后的最早 Delphi 版本是 XE4,上面的代码也可以正常工作。
无需更改您的查询字符串。只需引用 FieldByName ('COUNT').AsInteger.