我在Visual Studio中编写一个报表,它接受用户输入参数并针对ODBC数据源运行.我想手动编写查询并让报告服务将where子句的一部分替换为参数值,然后再将其发送到数据库.似乎正在发生的事情是@parmName
我假设将被替换实际上是作为SQL语句的一部分发送的.我错过了某处的配置设置或者这根本不可能吗?
我没有在工具中使用过滤器选项,因为这似乎从数据库中带回完整数据集并在SQL Server上进行过滤.
听起来您需要将SQL语句视为表达式.例如:
="Select col1, col2 from table 1 Where col3 = " & Parameters!Param1.Value
如果where子句是字符串,则需要执行以下操作:
="Select col1, col2 from table 1 Where col3 = '" & Parameters!Param1.Value & "'"
重要说明:不要在SQL表达式中使用换行符.如果你这样做,你会收到一个错误.
如果你需要更多的帮助,霍拉回来了.