delphi7使用rave5.0展现数据库数据报表

时隔多年,回头再次拿起Delphi。使用Delphi7展现Rave设计的报表,尝试了很多次,

目前仅掌握的两种方式:

①不在delphi程序中设置数据库连接组件,直接调用Rave报表文件展现,获取数据是在rave文件中设置数据库连接并完成的(DriverDataView)。(这种还需要补充加载驱动解决程序无法执行的问题)

②使用Delphi中的RvDataSetConnection组件传递数据库数据到Rave设计的报表文件展现(DirectDataView),需要在delphi程序中设置数据库连接。

 

方式①:

一,Delphi程序Form放置关键的组件(没有数据库访问相关组件):

RvProject和RvSystem(需要保存为pdf就放置RvRenderPDF,但是导出pdf含中文会有乱码)

二,设计rave报表:

1,打开[Tools]->[Rave Designer],

2,执行菜单[File]-->[New Data Object],选择Database Connection,选择ADO,出现名为Database1的数据库连接,设置Database1的AuthDesign的数据库连接字符串:ConnectionString;

3,执行菜单[File]-->[New Data Object],选择DriverDataView,并选择数据库连接:Databse1;在Query界面,选择Table,并使用[Editor]设置SQL语句选择需要显示的字段(不知为啥,就是没有出现待选择字段列表);

4,执行菜单[Tools]-->[Simple Table],选择已设置的DriverDataView1,选择需要的字段;

5,这时report设计编辑区域一般会显示建立好的基本格式,根据需要设置好Region-->Band(不重复、重复)-->Text(静态、数据库动态,DataText需要设置好所属的DataView和DataField),以及其他格式设置。

6,保存为.rav文件,这里放置在工程目录。

  设计完成后按F9可以预览报表效果。

三,Delphi事件处理方法中加入代码:

  RvProject1.Close;
  RvProject1.ProjectFile :='products4.rav';
  RvProject1.Close;
  RvProject1.Execute; 

四,在.pas文件中加入代码:

在uses部分引入RvDLADO(使用ADO连接,不引入会报错不执行:出现‘no data link drivers have been loaded’)

报表效果:

 

方式②:

一,新建DelphiApplication,Form1中放置组件:

 RvProject、RvSystem、TADOConnection、TADODataSet、TRvDataSetConnection

二,设计rave报表:

1,打开[Tools]->[Rave Designer],

2,执行菜单[File]-->[New Data Object],选择DirectDataView,选择RvDataSetConnection1(已放置的Rave组件);

4,执行菜单[Tools]-->[Simple Table],选择已设置的DataView1,选择需要的字段;

5,这时report设计编辑区域一般会显示建立好的基本格式,根据需要设置好Region-->Band(不重复、重复)-->Text(静态、数据库动态,DataText需要设置好所属的DataView和DataField),以及其他格式设置。

6,保存为.rav文件,这里放置在工程目录。

三,执行代码,同方式①之三

效果同前。

 

posted on 2023-06-15 17:48  jhoncooper  阅读(180)  评论(0编辑  收藏  举报