【问题标题】:SSRS error- The variable name @PhoneNo has already been declared. Variables names must be unique within a query batch or stored procedureSSRS 错误 - 变量名称 @PhoneNo 已被声明。变量名称在查询批处理或存储过程中必须是唯一的
【发布时间】:2020-08-23 10:28:51
【问题描述】:

我已经去掉了声明 where 子句中使用的参数,然后自动生成参数,这很好,但是在下面的代码中有一个参数 @Type 用于 IF 条件。我已经声明了 @Type variable ,但我仍然没有看到生成的参数。请问一下这在SSRS中是如何工作的。

声明@Type Varchar(max)

如果@Type = '1234' 开始 设置@Type = null

选择....

结束

否则如果@Type != '1234' 开始 选择.....

结束

【问题讨论】:

  • 显示您用于数据集的代码。或者删除参数..刷新具有参数的数据集..它应该将参数放回..否则您可以手动添加它。
  • 感谢哈利的回复,我已经编辑了这个问题。你能告诉我如何解决这个问题吗?
  • 如果第一个问题得到解决,那么您应该开始一个新问题。如果不是,那么您应该尽量避免更改问题,因为现在的标题与现在的实际问题无关。
  • 如果在代码中声明并设置了参数,它将不会在 SSRS 中显示为必需参数。正如 Alan 所提到的......请不要在回答后更改问题,因为 SO 不仅适合您,也适合您希望解决类似问题的其他人。问题的答案将毫无意义,并且会让任何阅读或试图弄清楚发生了什么的人感到困惑!

标签: reporting-services


【解决方案1】:

这几乎可以肯定是因为你没有与变量的大小写保持一致。 SSRS 在处理这些事情时是区分大小写的。

所以如果你有类似的东西

DECLARE @PhoneNo varchar(10)
SELECT * FROM myTable WHERE PhoneNo = @phoneno

这将失败,因为 SSRS 将 @phoneno 视为与 @PhoneNo 不同的变量

确保在你使用它的任何地方,情况都是一样的。

【讨论】:

  • 感谢艾伦的回复,我已经编辑了这个问题。你能告诉我如何解决这个问题吗?
猜你喜欢
  • 2020-02-01
  • 2015-05-26
  • 2019-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多