else 分支里如果没有执行 while() 和 catch 里的语句,没有值返回。
在finally里最后加一句:return 0;

解决方案 »

  1.   

    to wangier:
    我照你说的加了,但是报错:
    提示: 控制不能离开 finally 子句主体
      

  2.   

    哎,这个问题...
    while(retRecord.Read())
    {
    if(retRecord.Read())
    {
    System.Int64  xsl=Convert.ToInt64( retRecord.GetString(0))+1;
    string xslxh=Convert.ToString(xsl);
    retStr =clly+ employeeid + jzy + xslxh.Substring(xslxh.Length-4,4) ;
    return 0;
    }
    else
    {
    retStr=clly + employeeid + jzy+"0001";
    return 0;
    }
    }
    return 0; //如果第一次while不成功当然没有返回值了
      

  3.   

    就是楼上说的.
    像这样的问题,在这个方法体的内部最好是设一个变量,作返回用能减少或者避免你这样的小问题:
    例如: int _resultValue = 0;
          while( retRecord.Read())
          {
             if( retRecord.Read())
             {
                // something..
                _resultValue = 0;
             }
             else
            {
              // something..
                _resultValue = 0;
            }
            return _resultValue;
          }