select @result1 改成:Return @result1再在开始处加
    SET NOCOUNT ON

解决方案 »

  1.   

    try below:
    alter PROCEDURE PROC_JISUAN   @x1 decimal(2,0)=null,
      @x2 decimal(2,0)=null,
      --@result decimal(7,2) output,
      @result1 Nvarchar(24) output
    AS
     
     begin 
     
       if isnull(@x1,0)=0 and   isnull(@x2,0)<>0
          select @result1='x1为空'
       if isnull(@x1,0)<>0 and  isnull(@x2,0)=0
          select @result1='X2为空'
       if isnull(@x2,0)<>0  and isnull(@x1,0)<>0
         select @result1='都不为空'
    print @result1
     end
    go
    declare @res Nvarchar(24)
    exec proc_jisuan 3.0, null ,@res output
    select @res
      

  2.   

    crazyfor(Fan)我用了的方法还是不行为何呢?
      

  3.   

    to:楼上的RETURN只可以返回INT,无法返回STRING.
    你的STORED PROCEDURE有问题,你试试我的看看.
      

  4.   

    老兄,你的我已经试了,难道在PB与sqlserver的传送参数时候,比如有多个参数,且这些参数又是不同的数据类型,这些参数里面可能啥也没有,就象sle_1,sle_2中的有提供参数的功能,但我不输入值,为空,既打开应用就按"确定"按钮,让数据库的存储过程去判断,然后响应,返回值,为何,存储过程判断不出来呢?我也加了判断条件了.请老兄多费心了.谢谢!!!!!!