存储过程中调用了带参数的EXEC之后,如何得到返回的记录集?
我的初衷是实现这样的功能,表名由参数传入,同时根据传入的ID值,进行检索之后,得到返回的记录集,供我在VC中的程序取其值:
Create Procedure MyTest
@PageTable varchar(256),
@ID int
AS
DECLARE @SQL NVARCHAR(1000)
SET @SQL = N'Select * from ' + @PageTable + N' where ID=@i'
EXEC SP_EXECUTESQL @SQL, N'@i int', @ID
作为存储过程,由分析器调用,如EXEC MyTest Table1, 97,则可以得到显示的记录 ,但是我的VC程序就得不到该记录集了。需要说明的是:当存储过程是直接用Select * from page这样的形式时,我的VC程序是可以正常运行的。而现在由于表名不得不用动态的方式(EXEC来执行),则记录集却无法得到了,为什么?
有没有什么SQL语句能补救?//bow