首页 新闻 会员 周边

C# 如何释放 datatable

1
[已解决问题] 解决于 2017-08-21 20:59

        public static DataTable reDt(string cmdstr)
        {
            string str1 = str_();
            SqlConnection conn = new SqlConnection(str1);
            conn.Open();//并打开了连接
            SqlDataAdapter da = new SqlDataAdapter(cmdstr, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return (ds.Tables[0]);
        } 

  返回了一个table 到底在哪里释放 如果在finally 中释放掉  但是也得不到数据

< >
分享
最佳答案
0

你要释放的是sql连接的资源吧,题目你都写错了,conn.dispose()这个方法释放sql资源,或者你在SqlConnection conn = new SqlConnection(str1); 创建对象的时候使用using(SqlConnection conn = new SqlConnection(str1);){ //Do something.... } 在using方法执行完后,会释放掉using里面占用的资源。

奖励园豆:5
码农改变世界lyf | 初学一级 |园豆:46 | 2017-07-22 16:48
其他回答(3)
0

能说的详细点吗?  有点听不懂

长跑 | 园豆:11 (初学一级) | 2017-07-21 17:22

这样子每次都调用这个 然后生产一个table  不是会占内存吗

支持(0) 反对(0) 落幕。 | 园豆:2 (初学一级) | 2017-07-21 17:24
0

gc回收的是没有被引用的对象.

也就是说当这个dt没有被引用时.他就会被释放.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-21 18:12
1

using connention & datatable

花飘水流兮 | 园豆:13560 (专家六级) | 2017-07-22 19:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册