设计SQL 2005 Report报表

本文介绍了如何在VS2005中创建Report Server项目,设置目标报表服务器URL,定义数据源,并通过Wizard设计Matrix类型的报表。在设计过程中,强调了Matrix报表的动态列生成特性,以及与Table报表的区别。尽管遇到无法显示表头和计算total的问题,建议在数据查询阶段处理这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在VS2005中,选择 Report Server project模板新建工程BARreports

1 设置工程属性:

Target Server URL =  http://ctc-bar:81/ReportServer (开始以为是report manager的地址,设为http://ctc-bar:81/reports,结果总是提示连不上报表服务器,这里要用report server的地址)

设置完成后,从右键菜单选择部署,如果不属成功,说明设置正确。

工程创建后,会先创建两个目录:Shared Data Sources和Reports

2 定义数据源

 先在Shared Data Sources中增加一个数据源BARtestDB

connect string中要指定数据库连接,身份认证最好用数据库用户。

定义完成后,把BARtestDB发布到服务器上。打开报表服务器http://ctc-bar:81/reports你会发现新增加的目录Shared Data Sources,里面有一个数据源定义文件BARtestDB.rds。

3 设计报表

新建报表是通过Wizard方式完成的。

第一步选择数据源,就选择刚刚建立的BARtestDB

第二步数据获取,在query string中输入SQL 命令。

第三步选择报表的类型

选择Matrix类型

Table型就是标准形式,直接将SQL结果按照数据表方式显示出来。还不如用GridView绑定DATASET方便呢。

matrix型比较有用,列是根据数据动态产生的,这也是我使用SQL reporting的原因。

例如:数据

StudentID    Name   Subject   Grade     

1                    张三         语文         80

1                    张三         数学         86

2                   李四         英语         90

2                   李四         数学         92

报表结果

StudentID    Name      语文      数学     英语

1                    张三         80           86       null

2                   李四          null        92         90 

 虽然我们自己用SQL语句也可以做成这样的DATASET,但会非常麻烦,也很难维护。

第四步,定义报表

查询结果列可以有四类不同的映射

Page:每页的标题

Rows:是每行都出现的数据列如StudentID和Name ,相当于table类型报表的列。

Columns:是最重要的要按照数据动态分列的,在这里就是Subject  

Details: 是和Columns对应的数据,在这里是Grade

 问题:

matrix报表无法得到表头。 也无法作total的计算。

我的办法是在数据查询时计算total。但是表头还是没有办法。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值