同事忙不开了交过来的一个小问题,以前我也没有做过Reporting Services相关的。

大概看了一下,是数据集那边的查询代码接收不到报表参数,而且不是单纯地接收不到,具体情况如下。。

命令类型是Text,配置了几个报表参数,如果是以下这个形式就执行成功:

if(@TimeType=1)
begin
  --查询
end else if (@TimeType = 2)
begin
  --查询
end

但是如果我在这前面加上一系列的判断+赋值,就像这样

if(@Year is not null and @quarter is not null)
begin
if(@quarter =1)
begin
set @startDate =convert(datetime, @Year+'-1-1')
set @EndDate=convert(datetime, @Year+'-3-31')
end
else if(@quarter =2)
begin
set @startDate =convert(datetime, @Year+'-4-1')
set @EndDate =convert(datetime, @Year+'-6-30')
end
else if(@quarter =3)
begin
set @startDate =convert(datetime, @Year+'-7-1')
set @EndDate =convert(datetime, @Year+'-9-30')
end
else if(@quarter =4)
begin
set @startDate =convert(datetime, @Year+'-10-1')
set @EndDate =convert(datetime, @Year+'-12-31')
end
else if(@quarter =5)
begin
set @startDate =convert(datetime, @Year+'-1-1')
set @EndDate =convert(datetime, @Year+'-6-30')
end
else if(@quarter =6)
begin
set @startDate =convert(datetime, @Year+'-7-1')
set @EndDate =convert(datetime, @Year+'-12-31')
end
else if(@quarter =7)
begin
set @startDate =convert(datetime, @Year+'-1-1')
set @EndDate =convert(datetime, @Year+'-12-31')
end end if(@TimeType=1)
begin
  --查询
end else if (@TimeType = 2) begin
  --查询
end

在预览的时候就会提示

“本地报表处理期间出错。处理报表时出错。XXX,必须声明标量变量@Year,必须声明标量变量@quarterxxxxxxxx”

翻来覆去地看了下,也没有弄清楚,扒开了xml文档看到查询是写在CommandText节点下的,但是也没看到什么切入点。

后来就把上面那一大串判断全部改成case when方式写到查询语句里面,也就是说只存在一个查询语句,运行没问题了。

但是还是不知道是什么问题报这个错,难道在Text的命令方式下,只能写单条的select语句?不能像一个MSSQL里面正常的查询那样去写?

在MSDN上粗略找了一下,也没有找到说这方面的文档,暂且记录一下吧。

使用Reporting Services时遇到的小问题的更多相关文章

  1. Reporting Services 的伸缩性和性能表现规划(转载)

    简介 Microsoft? SQL Server? Reporting Services 是一个将集中管理的报告服务器具有的伸缩性和易管理性与基于 Web 和桌面的报告交付手段集于一身的报告平台.Re ...

  2. Reporting services导出的Excel文件避免出现隐藏行列的布局

    开发Reporting services时,为了避免在导出的Excel文件中出现隐藏的行和列,必须遵循以下规则: 1.Page header中的Textbox直接必须紧密贴合在一起 2.Page he ...

  3. Reporting Services 配置工具

    使用 Reporting Services 配置管理器可配置 Reporting Services 安装.如果使用“仅文件”选项安装报表服务器,则必须使用此工具来配置服务器,才能使用该服务器.如果使用 ...

  4. 如何配置报表服务器扩展部署(Reporting Services 配置)

    Reporting Services 支持扩展部署模式.该模式允许运行共享单个报表服务器数据库的多个报表服务器实例. 若要创建扩展部署,请使用安装程序和 Reporting Services 配置工具 ...

  5. SQL SERVER 2008 Reporting Services 的一些小问题集合

    实验环境:服务器  Windows Server  2008 R2 Standard 64bit                   数据库  SQL SERVER 2008 R2 Standard ...

  6. [小技巧]設定Reporting Services 2008 發生報表管理員權限不足

    转载 http://www.dotblogs.com.tw/dorlis.tsao/archive/2011/01/17/20860.aspx 在自己Windows 7 professional的電腦 ...

  7. SQL Server 2008 R2 安装时提示“Reporting Services目录数据库文件存在”

    打开MSSQL数据库管理系统的安装目录,例如: X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA. 其中 X:\ ...

  8. 充分利用 SQL Server Reporting Services 图表

    最近在查SSRS的一些文章,看到MSDN在有一篇不错的文章,许多图表设置都有说明,共享给大家.. 其中有说明在SSRS中如果去写条件表达写和报表属性中的“自定义代码”,文章相对比较长,需要大家耐心的查 ...

  9. 【Reporting Services 报表开发】— 交互式报表

    我们知道,界面是人与系统间的对话方式,当使用者面对的是冷冰冰的界面,不但会造成使用者对于系统的热情减低,也会因为不便而产生诸多抱怨.尤其像报表时企业内几乎每日都会使用到的工具,因此,如何让使用者可以再 ...

随机推荐

  1. js中call()和apply()的区别

    · 它们的共同之处: 都“可以用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象.” · 它们的不同之处: apply: 最多只能有两个参数—— ...

  2. Android:创建无标题栏的Activity

    上图是一个带标题栏的Activity.有些时候我们希望能去除这个标题栏,做法如下: 1. 在res/values目录下面创建styles.xml.如果你已经有这个文件了,那么直接打开这个文件,添加如下 ...

  3. Java修改文件夹名称

    Java修改文件夹名称 学习了:http://blog.csdn.net/yongh701/article/details/45063833 进行文件夹名字批量修改,注意,要写全路径: package ...

  4. 小议:部署SharePoint 2013时,无法连接SQL Server问题

    最近在给学员培训时发现,个别学员在完毕SharePoint 2013部署时,无法连接SQL Server,两种报错情况,例如以下所看到的: :配置SharePointConnect to SQL Se ...

  5. vim中凝视多行python代码

    在vim中凝视多行python代码比較麻烦,主要由下面几种方法: (1)将须要凝视的代码以文档字符串的形式呈现 (2)将须要凝视的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方 ...

  6. K度限制MST poj 1639

    /* k度限制MST:有一个点的度<=k的MST poj 1639 要求1号点的度不超过k 求MST 我们先把1号点扔掉 跑MST 假设有sum个连通分支 然后把这sum个分支连到1上 就得到了 ...

  7. null in JavaScript

    C# String.IsNullOrEmpty Javascript equivalent https://stackoverflow.com/questions/5746947/c-sharp-st ...

  8. Karma和Jasmine自动化单元测试——本质上还是在要开一个浏览器来做测试

    1. Karma的介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的 ...

  9. Linux下查看操作系统的位数和系统名称版本信息

    Linux下如何明确地查看操作系统的位数 如何知晓操作系统是32位还是64位?这里介绍一种简单的方式: [plain] [root@localhost mysql-5.1.57]# getconf L ...

  10. Human Gene Functions(dp)

    http://poj.org/problem?id=1080 #include <stdio.h> #include <stdlib.h> #include <strin ...