首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有UniDAC Dataset组件的RecordCount

具有UniDAC Dataset组件的RecordCount
EN

Stack Overflow用户
提问于 2013-12-28 05:24:33
回答 2查看 2.1K关注 0票数 0

我使用的是UniDAC的TUniQuery组件。我想展示一下我有多少条记录,所以

我已经将以下代码放在状态栏中显示:

代码语言:javascript
复制
procedure TForm1.unyQuery1AfterFetch(DataSet: TCustomDADataSet);
begin
    StatusBar1.Panels[1].Text := 'Número de registros: ' + inttostr(unyQuery1.RecordCount);
end;

UnyQuery1.RecordCount总是返回零。但是,如果我从一个按钮单击事件运行这段代码,它就能正常工作。

我哪里做错了?

EN

回答 2

Stack Overflow用户

发布于 2015-02-01 00:11:25

使用查询的AfterOpen事件,而不是AfterFetch。

代码语言:javascript
复制
procedure TForm1.UniQuery1AfterOpen(DataSet: TDataSet);
begin
StatusBar1.Panels[1].Text:= 'Records: ' + inttostr(uniQuery1.RecordCount);
end;

同样来自devart:

对于ClientDataSet中数据获取流程的映射,您应该将ClientDataSet.PacketRecord属性设置为UniQuery.FetchRows,并使用ClientDataSet.GetData事件进行数据获取流程的映射

代码语言:javascript
复制
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientDataSet1.PacketRecords := 25;
ClientDataSet1.Open;
  while not ClientDataSet1.eof do
    ClientDataSet1.next;
end;

procedure TForm1.DataSetProvider1GetData(Sender: TObject;
  DataSet: TCustomClientDataSet);
begin
if ClientDataSet1.Active then ShowMessage(IntToStr(ClientDataSet1.RecordCount));
end;
票数 0
EN

Stack Overflow用户

发布于 2021-11-12 13:44:14

尝试将QueryRecCount选项设置为True

代码语言:javascript
复制
UniQuery1.Options.QueryRecCount := True;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20808028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档