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

时间:2015-12-31 09:33:24

标签: sql delphi firebird dbexpress

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

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

Select count(*) from VRDB where Lname - 'SMITH'

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

  

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

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

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

3 个答案:

答案 0 :(得分:2)

在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 2009,我在D7之后的最早的Delphi版本是XE4,上面的代码也可以正常使用。

答案 1 :(得分:1)

尝试使用

select count(*) CNT from VRDB where Lname = 'SMITH'

答案 2 :(得分:0)

无需更改查询字符串。只需引用FieldByName('COUNT')。AsInteger。