DataSet.xsd无法列出存储过程中的列

时间:2011-10-19 02:05:36

标签: asp.net asp.net-mvc dataset

我有一个使用ASP.Net MVC 3的项目,现在我正在为我的项目创建一个报告。我的项目中有几个报告,所有报告都使用存储过程。为了在MVC 3中创建报告,首先我创建一个新的数据集。我的一份报告有问题。我有一个这样的程序(名为SP_Rpt):

CREATE TABLE #temp_batch (batch_id VARCHAR(20))  
EXEC SP_StrListToTable @batchId, ',', #temp_batch

select Batch_Id, Batch_Date
from Batch 
where Batch_Id in (select * from #temp_batch)
and isnull(Payment_Decline_Date,'') = '' and Payment_Amount > 0
and Batch_Open = 0 and Invoice_Paid_Amt > 0

当我尝试使用SP_Rpt添加新的表适配器时出现此错误:

  

配置TableAdapter时,向导检测到以下问题:“SP_Rpt”

     

详细说明:

     

生成SELECT语句无效对象名'#temp_batch'

     

要将这些组件添加到数据集,请单击“完成”。

我点击完成,我的表适配器中没有列。但我可以预览数据。当我创建报告并选择该数据集时,我没有任何列(我无法设计新报告)。我的程序有问题(我不这么认为,因为我可以预览数据)?如何使用该存储过程列出我的数据集中的列?

谢谢

1 个答案:

答案 0 :(得分:3)

将以下内容放在存储过程的开头:

IF 1=0 BEGIN
    SET FMTONLY OFF
END

Retrieve fields schema in Visual Studio of stored procedure which uses temp tables