如何释放DataSet对象的内存?

YYKXQ 2005-05-23 10:25:03
比如执行下列语句:
...
DataSet ds=new DataSet();
DataAdapter.Fill(ds,"pp");

我要清空数据集中的所有内容,可用ds.Clear();但是"pp"表中内容占了很多内存,Clear方法只是清空数据集但不释放内存;我想在垃圾回收之前释放内存,请问大家有什么方法?
...全文
478 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
YYKXQ 2005-05-24
  • 打赏
  • 举报
回复
DataReader的数据只能向前,不能返回,而且是在连接环境中使用;不是和我目前的项目。
武稀松 2005-05-23
  • 打赏
  • 举报
回复
System.GC.Collect();
让垃圾收集器对内存进行回收.
rachy 2005-05-23
  • 打赏
  • 举报
回复
ds.Close()或者ds.Dispose()
冷月孤峰 2005-05-23
  • 打赏
  • 举报
回复
Ds.Dispose();
dapang731 2005-05-23
  • 打赏
  • 举报
回复
榜定個空表給它就行了
zhongwanli 2005-05-23
  • 打赏
  • 举报
回复
Dispose()
cnming 2005-05-23
  • 打赏
  • 举报
回复
ds = null

然后.NET自动回收内存
Sword_liao 2005-05-23
  • 打赏
  • 举报
回复
又不是C++,什么时候释放内存不由你决定。你让ds=null,然后显式的使用垃圾回收器回收,不过垃圾回收器并不一定马上执行,而且回收时要发费很大的代价,所以建议不要这么做。GC在探测到内存不够时会自动回收
cai11709394 2005-05-23
  • 打赏
  • 举报
回复
DataSet是作为内存中的数据库而产生的。
如果你觉得没这种必要,那你干脆用DataReader算啦!
YYKXQ 2005-05-23
  • 打赏
  • 举报
回复
我在写一个考试系统,虽然还没到系统报内存不足的地步,但是我的程序在考试完成后仍然占了80兆内存,刚启动程序是只占17兆左右,差距太大了。所以我才想手工释放内存。不知道你们有没有遇到过这种情况。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧