代码如下SqlConnection conn = Common.DataBase.CreateConnection();
SqlDataAdapter cmd = new SqlDataAdapter("sp_getAllArticle",conn);
cmd.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
ds=null;///////  只要给ds赋上null值,程序就提示值不能为空。参数名: dataSet 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentNullException: 值不能为空。参数名: dataSet而如果不给ds 赋值的话,则一切正常,不知为什么
return ds;

解决方案 »

  1.   

    DataSet ds = new DataSet();
    ds=null;/////// 第二句这样的方法我没有看到过...
      

  2.   

    ds=null;这句写了也没实际意义的,
    在执行return ds后,这里面的ds会NET会自动清理掉的。
      

  3.   

    真想要NULL 就一开始就DataSet ds =null;
      

  4.   

    lihui_830501(阿狼) ( ) 信誉:100    Blog  2006-10-23 22:44:00  得分: 0  
     
     
       真想要NULL 就一开始就DataSet ds =null;
      
     
    /////////////////////////////////////////////
    这样就行
      

  5.   

    你一开始DataSet ds = new DataSet(); 系统将在内存中分配一块内存,而后你有ds=null 将内存释放掉 最后又Return ds 系统又要返回一个内存引用 自然就抱错了
      

  6.   

    可不可以解释一下为什么呢是不是因为我给ds 赋null值后,将前面new 分配的DataSet的实例给去除了??所以导致了上面的错误