MSSQL2005存储过程写报表

听说MSSQL2005自带报表功能,于是我测试了一下,还算比较好用,所以我就录了一个用存储过程来写报表的例子。下载地址如下:

http://tclywork.itpub.net/get/464/MSSQL2005%B4%E6%B4%A2%B9%FD%B3%CC%B1%A8%B1%ED.rar
由于测试过程当中没有语音,所以我在这里讲解一下。


听说MSSQL2005自带报表功能,于是我测试了一下,还算比较好用,所以我就录了一个用存储过程来写报表的例子。下载地址如下:

由于测试过程当中没有语音,所以我在这里讲解一下。

使用的存储过程如下(录象中到最后我更改了一下存储过程):

使用的数据库是MSSQL2000的Northwind数据库,表是orders.

if exists(select * from sysobjects where name='procTest' and xtype='P')
drop proc procTest
go
create proc procTest
@CustomerId varchar(20)
as
if @CustomerId='*'
select * from Orders
else
select * from Orders where CustomerID=@CustomerId

可以用exec procTest 'VINET' 或者exec procTest '*'来测试

之后建立数据库报表项目

1。建立数据源
2。建立新的报表
3。建立数据集,这里我采用了特殊的方式,因为报表设计界面需要列出字段,所以我将存储过程中需要输出的字段select语句先在数据集运行一下,那么就得出了纪录集的所有字段,而不用自己一个个添加。
4。建立报表的参数CustomerID,设置默认值为*,和存储过程当中判断语句一致。
5。更改数据中的语句:

="exec procTest '" & Parameters!CustomerID.Value & "'"

6。基本上完成。

在演示中不知道如何按F5出现报表无法现实,但是在预览中是正常的,大概原理能明白就可以了。
关于报表匿名浏览的问题网上有介绍,这里就不多说了。

有什么疑问可以直接联系我。

请使用浏览器的分享功能分享到微信等