时隔多年,回头再次拿起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文件,这里放置在工程目录。
三,执行代码,同方式①之三
效果同前。
标签: