trypublic DataSet SearchDataSet(string searchstr)
{   
       searchstr=searchstr.Trim();
       if (searchstr=="") return null;
    
       DataSet ds = new DataSet();
       //fill ds
       return ds;
}

解决方案 »

  1.   

    public DataSet SearchDataSet(string searchstr)
          //如果为空查询字段,就返回空的数据集
       { 
          DataSet dataSet  = new DataSet()
          searchstr=searchstr.Trim();
           if (searchstr=="") 
           return dataSet; // 空的dataSet
       }返回的值必须对应。
      

  2.   

    你的写法应该是对的DataSet可以赋null你的错误是什么呢?
      

  3.   

    我想我知道你错在哪里了public DataSet SearchDataSet(string searchstr)
    {   
        searchstr=searchstr.Trim();
        if (searchstr=="") 
             return null;
        else
        {
           //Fill数据集
           return SomeDataSet;
        }  
    }所有的路径都必须有返回值
      

  4.   

    if (searchstr.Trim().Length>0) 
             return null;
        else
        {
            return SomeDataSet;
        }
      

  5.   

    to timmy3310(Tim) 错误信息为该函数并非所有的代码路径都返回值。
    另外C#中有没有类似Exit之类的退出语句?如没有可以有什么写法来代替呢?
      

  6.   

    没有一定要所有可能的路径都有返回值,即使返回一个null也是必要的比如:public string Test( string p )
    {
       if( p==String.Empty )
         return "Hello";
    }如果这样就有错,因为当p不为空的时候,执行的时候就不知道应该返回什么值
    这是没有默认值的,除非你的方法不返回值,是void,那就不需要了
      

  7.   

    timmy3310(Tim) 同志, saucer(思归, MS .NET MVP) 
    都是高手,:)