读书人

关于静态方法的疑问,该怎么处理

发布时间: 2012-05-27 05:42:30 作者: rapoo

关于静态方法的疑问

我为了能从程序的任何地方都可以取数据库中的数据来使用,写了一个静态方法,用于从数据库中读入一张表的内容。如下:
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,使用完后 会不会自动被系统回收?
这样写是不是不太合理? 多次使用该方法会不会造成内存泄露?

[解决办法]
MyDT 不需要,myDA 在方法结束前调用 Dispose, oleDbConn 如果是静态的就不用,如果是方法里创建的也要 Dispose 。
MyDT.Clear() 也不需要。

读书人网 >C#

热点推荐