文本框 'CurrentNumPlayers' 中使用的隐藏表达式返回了无效的数据类型

The Hidden expression used in textbox 'CurrentNumPlayers' returned a data type that is not valid

当我 运行 在报表服务器上生成此报表时,我没有收到任何错误,但是当我将代码放在 Internet 门户上时,我收到错误

The Hidden expression used in textbox 'CurrentNumPlayers' returned a data type that is not valid.

SSRS 2008 中的隐藏表达式是:

=NOT(Fields!IsGroup.Value)

IsGroup 定义在 sql like

[IsGroup] BIT NOT NULL,

有点奇怪,因为在一台服务器上它在另一台服务器上工作正常我收到这个错误。这种行为的原因是什么?

问题是由于许多 applications/contexts 不识别 sql 服务器数据类型位等同于布尔值,而是将其解释为整数。

可以通过如下重写您的表达式来解决此问题:

=NOT(Fields!IsGroup.Value = 1)

甚至:

=(Fields!IsGroup.Value = 0)