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

看一下:asp中调用有返回值的存储过程中碰到的奇怪有关问题

2012-03-19 
看一下:asp中调用有返回值的存储过程中碰到的奇怪问题存储过程如下:------------------------------------

看一下:asp中调用有返回值的存储过程中碰到的奇怪问题
存储过程如下:
-----------------------------------------
create     procedure   test
(
    @Num         varchar(50),                        
    @Msg         varchar(200)   OUTPUT        
)
AS
BEGIN
    if(@Num   =1)
        begin
            set   @Msg   =   '你传入的是1 '
            exec( 'print   1 ')
        end
    else   if(@Num   =2)
        begin
            set   @Msg   =   '你传入的是2 '
            exec( 'print   2 ')
        end
END
--------------------------
SQL中调用此存储过程语句:
declare   @Num         varchar(50)
declare   @Msg         varchar(200)
set   @Num   =   '2 '
exec   test   @Num,@Msg   OUTPUT
print   @Msg

问题:在SQL中调用此存储过程不管@Num传入1还是2,@Msg变量中都会有值。
但在ASP中调此存储过程时@Msg变量的值则为空。如果把中间的那句exec( 'print   * ')去掉的话@Msg中就有值。加上这句话的话@Msg返回的值变为宽了。但在查询分析器中调用却始终有值。
高手们!谢谢了哦。!

[解决办法]
...
AS
set nocount on--试试
BEGIN
....

热点排行