【问题标题】:EOF Error Delphi fast report 4EOF 错误 Delphi 快速报告 4
【发布时间】:2012-11-07 23:49:37
【问题描述】:

帮助!!! 当我从 Delphi 调用一个简单 ADOQuery 的预创建报告时,在预创建报告中我没有设置主数据带中的行数,我收到 EOF 错误(EOF OR BOF 为真或当前记录已被删除)。然后报告加载就好了。但是,如果我将数量设置为小于或等于主数据的行数,那么我不会收到该错误。在从 delphi 调用的报告中触发 ado 查询时是否需要知道主记录的数量?这是我用来调用报告的代码:

...

var Connection1 : tfrxAdoDatabase; //connection variable
    Query1 : tfrxADOQuery;
 ...



with tfrxReport.create(self) do
  try
      //Load Report
      LoadFromFile(ReportName);
      //load connection properties
      Connection1 := FindObject('Connection1') as tfrxAdoDatabase;
      //define connection username and password
      Connection1.setlogin('sysdba','BLAHBLAH');
      // prepare and show report
      if Preparereport then
      ShowPreparedReport;
    finally
      end;

我是使用快速报告的新手(这周是我第一次使用它。我真的很挣扎,所以非常感谢任何帮助)

【问题讨论】:

  • 问题与FastReport无关;您收到的错误是 ADO 错误(您的 tfrxAdoDatabase)。这个off-site article 可能会有所帮助。
  • tfrxAdoDatabase 是一个快速报告组件,它使用的查询确实有行,并且来自一个在调用之前没有以任何方式修改其任何表的视图。就像它只是在代码用完时决定中断。
  • 我知道是这样,但异常是由 ADO 引发的(正如我在上一条评论中提到的)而不是 FastReport。这是一个ADO 异常
  • 好的,谢谢,很遗憾这篇文章没有太多帮助,但我很感激。

标签: delphi delphi-5 fastreport


【解决方案1】:

Ken 是对的,它是 ADO 错误,问题在于 frxadocomponent 集与 delphi 交互的方式。那里有针对 Delphi 的 ado 组件的更新,但是因为不再支持 Delphi 5,所以很难找到。我确实在这里找到了它:http://alexandrecmachado.blogspot.com/2009/07/delph-5-update-packs.html 感谢您的帮助肯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多