report services 报表开发和部署,集成到解决方案中 全解析
---- 对于report services简介
---- 通过vs2003,来设计报表
---- 管理报表服务器上的报表(通过报表服务器)
---- 通过report services报表平台,利用编程接口,将报表功能集成到自定义的解决方案中
对于report services简介
Reporting Services是一个基于报表服务器的报表平台。可以创建,管理,来自不同数据的
表格报表,图片报表,其他的格式的报表,并内置了多个呈现扩展插件(web,Execl,PDF….),提供API ,供程序员将报表功能添加到自己的解决方案中,显示自己想要的各种格式的报 表,
这里面还要注意的是report services 的API,是通过web服务来实现的,在web服务提供的方法中,我们可以获得各种格式的表报(流的形式),报表的目录,设置数据源,添加新的报表功能。
通过vs2003,来设计报表
设计报表的目的就是生成一个报表定义语言 (RDL) 文件。
在vs2003中提供了一个设计报表的项目-----报表项目
文件---〉新建项目-----〉出现上面的选择页面 选择报表项目 点击“确定”生成一个报表项目 在解决方案资源管理器中包含两个文件夹 共享数据源 ,reports
下面我们就考虑设计一个报表了,在设计报表前我们需要了解以下几个方面
1 生成报表的数据源。
2 报表的显示的形式
3 报表其他的设置:参数,报表的页眉,页脚,显示页面的大小等等。
下面以一个学校数据库生成学生的简历报表为例子生成学生的简历报表。
第一步 :添加一个共享数据源
右击 虚拟文件夹共享数据源 ,选择 “添加新的共享数据源”,显示下图:
在这里,我们报表的数据的来源是 data source=(local);initial catalog=shool ; User ID=xiaoxu;
PassWord =123
第二步 :页面设计
(1)添加报表
右击Reports虚拟文件架 ,选择 “添加”à “添加新项”。弹出报表项目选择业面
报表项目选择页面
选择 报表,在名称的文本框中填写” Student_Resume” 点击”打开”按钮完成一个新的报表的添加,并转到报表的编辑页面
注:报表的编辑页面分 数据,布局,预览 三个部分,其中各部分的功能分别是
数据 用来创建数据集 生成报表的填充的数据。
布局 通过工具栏中的相关的控件生成报表的现实页面,并填充相关的数据。
预览 显示现在报表的生成后的样式
(2)页面布局
打印页面 : 纸张长度 页宽 :
其它的一些设置和office的设置一样
页面设置对话框
页面设计
学生基本情况页面设计:
文本框 |
文本框 |
|
|
|
|
。。。。 |
。。。。 |
|
|
|
|
。。。。 |
|
|
|
||
。。。。 |
|
|
|
基本情况显示
简历 情况设计
文本框 |
文本框 |
简历的显示
注 上面的两个显示的基本模块都是通过多行表头组合而成的(单独的文本框相组合文本框窜行)
将上面基本情况显示和简历的显示 两部分通过矩形组合起来。
页面的基本布局
第三步 设计数据集,并将数据添加到报表相对应的页面中
报表的参数
在这个报表中我们设置一个参数@id 来做为学生选择的接口。
设置流程:报表-à报表参数-à报表参数设置页面 名称:id ;提示:学生的学号
数据类型:整形---à 点击“确定“按钮 ,完成参数的添加 。
设计数据集
数据集分两个部分
一部分显示人员的基本的信息,一部分显示学生的简历情况
显示学生的基本集的SQL 语句为下所示:
select name as '姓名',
case sex when '1' then'男' when '0' then '女' else '' end as '性别' -- translate the sex to chinese
,birthday +char(10)+'('+cast(age as varchar(4))+')' as '出生年月'
,nation as '民族'
,native_place as '籍贯'
,health_static as '健康状况'
,degree as '学历'
,specialty as '专业'
,schoolname as '学校名称'
,address as'地址'
from student where id=@id ---@id is param which need input
-- from user
下面是显示学生简历的SQL 语句
这里我们也是通过将要显示的相关学生简历数据组合成需要显示的字符串形式。
declare @resume varchar(2000) --define the param to storage the information of student resume
declare @period varchar(100) --define the param to storage the period information of every resume
declare @content varchar(500) --define the para