赋null值后,奇怪的问题出现了!!

soldierluo 2006-10-23 09:00:51
代码如下

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;
...全文
135 13 打赏 收藏 举报
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
brucenan999 2006-10-24
  • 打赏
  • 举报
回复
你是想把子函数里的对象注销掉是吧,这样是不行的啊.

lxsfg 2006-10-24
  • 打赏
  • 举报
回复
你一开始DataSet ds = new DataSet(); 系统将在内存中分配一块内存,而后你有ds=null 将内存释放掉 最后又Return ds 系统又要返回一个内存引用 自然就抱错了
For_suzhen 2006-10-24
  • 打赏
  • 举报
回复
lihui_830501(阿狼) ( ) 信誉:100 Blog 2006-10-23 22:44:00 得分: 0


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


/////////////////////////////////////////////
这样就行
soldierluo 2006-10-24
  • 打赏
  • 举报
回复
还是不太明白,再up一下
soldierluo 2006-10-24
  • 打赏
  • 举报
回复
谢谢,大概理解了
soldierluo 2006-10-24
  • 打赏
  • 举报
回复
可不可以解释一下为什么呢

是不是因为我给ds 赋null值后,将前面new 分配的DataSet的实例给去除了??所以导致了上面的错误
DePaul 2006-10-23
  • 打赏
  • 举报
回复
真想要NULL 就一开始就DataSet ds =null;
huangjietao 2006-10-23
  • 打赏
  • 举报
回复
ds=null不是这里引起的错误吧
daishengs 2006-10-23
  • 打赏
  • 举报
回复
ds=null;这句写了也没实际意义的,
在执行return ds后,这里面的ds会NET会自动清理掉的。
gezichong 2006-10-23
  • 打赏
  • 举报
回复
DataSet ds = new DataSet();
ds=null;///////

第二句这样的方法我没有看到过...
soldierluo 2006-10-23
  • 打赏
  • 举报
回复
up
soldierluo 2006-10-23
  • 打赏
  • 举报
回复
用和不用都一样出现上面的问题
一直在攀登 2006-10-23
  • 打赏
  • 举报
回复
看看调用此函数的地方是否用到DS。
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-23 09:00
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。