关于静态方法的疑问

ppp9701 2012-05-22 05:10:19

我为了能从程序的任何地方都可以取数据库中的数据来使用,写了一个静态方法,用于从数据库中读入一张表的内容。如下:
public static void ReadGSB()//从数据库中读出公司表
{
DataTable MyDT = new DataTable();
OleDbDataAdapter myDA = new OleDbDataAdapter("select * from gsb order by gs_id", oleDbConn);
myDA.Fill(MyDT);
//这里是数据处理代码 省略。。。。
MyDT.Clear();
}
我想问:new出来的MyDT和myDA,使用完后 会不会自动被系统回收?
这样写是不是不太合理? 多次使用该方法会不会造成内存泄露?
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
__天涯寻梦 2012-05-22
  • 打赏
  • 举报
回复
MyDT 不需要,myDA 在方法结束前调用 Dispose, oleDbConn 如果是静态的就不用,如果是方法里创建的也要 Dispose 。
MyDT.Clear() 也不需要。
macooidle 2012-05-22
  • 打赏
  • 举报
回复
这么看好像8会,但你会不会有多线程咧?
bdmh 2012-05-22
  • 打赏
  • 举报
回复
看代码,应该是没有地方用到,最好手动释放一下
E次奥 2012-05-22
  • 打赏
  • 举报
回复
GC是什么?写个单例模式,把他实例化在外边!

110,537

社区成员

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

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

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