Visual studio 2013 数据集未显示存储过程动态查询的列名

Visual studio 2013 dataset not showing up column name for dynamic query of stored procedure

我在 visual studio 2013 年创建数据集时使用存储过程中的动态查询作为表适配器。问题是数据列未显示 SELECT 操作的参数和字段。请找截图:

我不确定这个动态语句在这种情况下是否有效。任何人都知道在我的报告中使用这个存储过程作为数据源的任何可能方法。 在存储过程中查询。

DECLARE @DynamicSQL nvarchar(4000)
SET @DynamicSQL = N'SELECT * FROM ' +@TableName + 
' WHERE ClassName='+@OperationName+' AND (RunTime BETWEEN '+@Date1+' AND '+@Date2+')
AND TestCaseId = ISNULL('+@TestCaseId+', TestCaseId)
 AND TestRunResult = ISNULL('+@TestRunResult+',TestRunResult) 

EXECUTE sp_executesql @DynamicSQL

如果架构没有改变,那么您可以试试这个:

使用类似于此伪代码的内容启动您的存储过程,以便 SSRS 知道期望的列:

IF 1=0
  SELECT 
    CAST('SomeDummyData' AS Field1DataType) AS Field1Name
  , CAST('SomeDummyData' AS Field2DataType) AS Field2Name
  , ETC...
ELSE
  ...the rest of your stored procedure

如果这还不够,请打开您的数据集并在“字段”选项卡中对字段进行硬编码。