dataset 耗用内存问题

ReleaseMJ 2009-03-14 01:14:04

用的mdi窗体,每个子窗体都创建了dataset,这样结构好么,还是整个mdi共用一个dataset?、

如何实现呢?

还有,为什么子窗体关闭后内存不见消呢,重复关闭再打开子窗体得过程中,内存不断上涨,真是恐怖啊
怎么解决?


万分感谢
...全文
279 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ReleaseMJ 2009-03-15
  • 打赏
  • 举报
回复
gc的话也是很耗费资源得啊,为了那一点得内存,去调用gc感觉得不偿失
ReleaseMJ 2009-03-15
  • 打赏
  • 举报
回复
用的是xsd数据集,数据库连接代码是他自动生成,也是自动关闭得啊,
liudeqing2008 2009-03-14
  • 打赏
  • 举报
回复
datase支持数据库断开连接使用,也就是你在断开数据库连接的状态下仍然可以从数据库中取的数据!
“用的mdi窗体,每个子窗体都创建了dataset,这样结构好么,还是整个mdi共用一个dataset?”
如果是在三层架构,或者多层架构中是非常好的一种编程方式,不过该方法的不好之处就是dataset将数据库种的数据全部都暴露在了外边,会造成数据的泄露,如何解决这个问题咱先不说了!继续下一个问题
“还有,为什么子窗体关闭后内存不见消呢,重复关闭再打开子窗体得过程中,内存不断上涨,真是恐怖啊 ”
至于这个问题你肯定是在构建dataset对象并在给dataset传入数据之后没有关闭数据库连接,你需要显示的去关闭一下数据库连接!
jlj84237485 2009-03-14
  • 打赏
  • 举报
回复
帮顶一下
Fighting_Lin 2009-03-14
  • 打赏
  • 举报
回复
都知道Dataset耗内存就不要用Dateset
用List<>
gisyellow 2009-03-14
  • 打赏
  • 举报
回复
公用比较划算。。
可以自己手动使用GC.Collect方法回收垃圾资源所占的内存。
龙宜坡 2009-03-14
  • 打赏
  • 举报
回复
form.Closed事件中加入个DataSet的dispose方法试试看,
zhaozhijun0207 2009-03-14
  • 打赏
  • 举报
回复
用完DataSet后,dispose();还不行吗?
wxd024 2009-03-14
  • 打赏
  • 举报
回复
帮顶
zhaigates 2009-03-14
  • 打赏
  • 举报
回复
为什么要多个DATASET呢?
龙宜坡 2009-03-14
  • 打赏
  • 举报
回复
public static
sxmonsy 2009-03-14
  • 打赏
  • 举报
回复
共用一个DataSet,这样节省资源.
oyljerry 2009-03-14
  • 打赏
  • 举报
回复
公用一个可以减少多个的消耗...
.net自身有回收机制..
yhy0611 2009-03-14
  • 打赏
  • 举报
回复
用静太的放MDI窗体中,

用的时候MDI窗体名.DataSet名就完了
cppfaq 2009-03-14
  • 打赏
  • 举报
回复
共用一个得了。父窗体里面创建并public出来。

public partial class Parent : Form
{
public Parent()
{
InitializeComponent();
}

private DataSet _sharedData = new DataSet();

public DataSet sharedData
{
get { return _sharedData; }
}

}

子窗体通过
frmMdiChild.MdiParent.sharedData来使用该DataSet
wuyi8808 2009-03-14
  • 打赏
  • 举报
回复
共用比较好,可以静态的。
优途科技 2009-03-14
  • 打赏
  • 举报
回复
用的mdi窗体,每个子窗体都创建了dataset,这样结构好么,还是整个mdi共用一个dataset?、
--------
第二种。还用:如果dataset数据比较大,不建议存储为dataset可以用数组或者链表存储(节省内存)


还有,为什么子窗体关闭后内存不见消呢,重复关闭再打开子窗体得过程中,内存不断上涨,真是恐怖啊
怎么解决?
------------------
net垃圾回收机制是net来做的,不过你自己也可以gc。具体:http://blog.csdn.net/gisfarmer/archive/2009/02/24/3932444.aspx

111,126

社区成员

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

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

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