iRet为存储过程传出的参数。
up!!!

解决方案 »

  1.   

    可是我在sqlserver里手动输入要求的值返回的iRet值确实是2啊。
    这个问题我怎么也想不通啊。
      

  2.   

    那你在那个判断前面有打印出那个值看到是2吗?
    out.print(iRet)看看是多少!
      

  3.   

    我是在javabean里加的打印System.out.println(iRet);
    前两个都可以打印出正确的值即0和1,可是到第3个条件的时候就打印出错误的值了,
    这似乎很明显是存储过程的问题。可是在sqlserver里确确实实是返回的2啊。。救命啊。。
      

  4.   

    select @Row1=0
      select @TempDeptNo =DeptNo from Bas_DeptCode where DeptName=@S_DeptName
      if @S_PrivilageType='SF' 
       begin
         if (@S_NodeNo='7')or(@S_NodeNo='8')or(@S_NodeNo='9')or(@S_NodeNo='10')or(@S_NodeNo='13') 
          begin
            select @Row1=Count(*) from Sf_Privilege where (SfNodeNo=@S_NodeNo)and(DeptNo=@TempDeptNo)      
              if @Row1>0
               begin
                select iRet=2
                return          
               end
          end
      

  5.   

    select @Row1=0
      select @TempDeptNo =DeptNo from Bas_DeptCode where DeptName=@S_DeptName
      if @S_PrivilageType='SF' 
       begin
         if (@S_NodeNo='7')or(@S_NodeNo='8')or(@S_NodeNo='9')or(@S_NodeNo='10')or(@S_NodeNo='13') 
          begin
            select @Row1=Count(*) from Sf_Privilege where (SfNodeNo=@S_NodeNo)and(DeptNo=@TempDeptNo)      
              if @Row1>0
               begin
                select iRet=2 -----------------------select @iRet=2 ????
                return          
               end
          end
      

  6.   

    强烈感谢 rainshow。:)
    我太粗心了
    马上送分。