首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求教,MS的存储过程中,如何没法返回值呢?

2012-09-16 
求教,MS的存储过程中,怎么没法返回值呢??各位高手,情况是这样的:我在一个ASP.NET页面中调用存储过程Pr_Que

求教,MS的存储过程中,怎么没法返回值呢??
各位高手,情况是这样的:
我在一个ASP.NET页面中调用存储过程Pr_QueryDocument,需要返回一个记录集。
存储过程简化如下:
ALTER PROCEDURE [dbo].[Pr_QueryDocument] 
  @CategoryID int,
  @SN varchar(200),
  @Name varchar(200),
  @sDatevarchar(50),
  @eDatevarchar(50),
  @Sendervarchar(200),
  @SavePlacevarchar(50),
  @Cabinetint,
  @Statusint
AS

Begin
Declare @SelAsvarchar(400)
Set @Sel = 'Selcet * From Document'
Exec(@Sel)
End
其中最后一句改成 Exec sp_execute @Sel也无法返回值。
但是如果直接写成:
ALTER PROCEDURE [dbo].[Pr_QueryDocument] 
  @CategoryID int,
  @SN varchar(200),
  @Name varchar(200),
  @sDatevarchar(50),
  @eDatevarchar(50),
  @Sendervarchar(200),
  @SavePlacevarchar(50),
  @Cabinetint,
  @Statusint
AS

Begin
  Selcet * From Document
End
又能返回值

请问这是怎么回事呢??
上面中的参数,为了测试暂时没有写入到Select中。因为这个过程是动态查询档案的,所以无法像第二种方法那样直接写查询语句。
在下在这里静候各位高手指导,不吝赐教啊!!

[解决办法]

SQL code
BeginDeclare @Sel As string(400)Set @Sel = N'Selcet * From Document'Exec(@Sel)End
[解决办法]
SQL code
Set @Sel = N'Selcet * From Document' + N'Where CategoryID = ' + @CategoryID--Where前面要用空格吧Set @Sel = N'Selcet * From Document' + N' Where CategoryID = ' + @CategoryID
[解决办法]
'''+%+'''

热点排行
Bad Request.