| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2320 人关注过本帖
标题:using 自动关闭机制 不能关闭 静态 SqlConnection
只看楼主 加入收藏
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
结帖率:78.99%
收藏
已结贴  问题点数:5 回复次数:9 
using 自动关闭机制 不能关闭 静态 SqlConnection
请问一下:
最近我使用了using 自动关闭机制来关闭数据库的连接。但在调试的时候发现,using只能关闭通过new来实例化的连接[如:SqlConnection conn = new SqlConnection(strConn)],但是却不能自动关闭通过类名来访问的静态SqlConnection连接[如:DBHelper.conn]。
请问一下,这是为什么啊?
搜索更多相关主题的帖子: using 机制 静态 自动 
2010-05-31 17:17
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
收藏
得分:0 
请问有人知道吗?
2010-06-01 08:06
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
收藏
得分:0 
你关闭静态SqlConnection的代码贴一下

转眼就从编程菜鸟混成了半灌水
2010-06-01 08:59
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
收藏
得分:0 
回复 3楼 乖老鼠
DBHelper.cs
        private static string StrConn = ConfigurationManager.ConnectionStrings["SQLConn"].ConnectionString;
        public static SqlConnection conn = new SqlConnection(StrConn);
---------------------------------------------------------------------------------------------------------------------------------------
AddFormDAL.cs
        //封装
        public void PrepareSQLCommand(string sql,SqlConnection conn,SqlCommand comm)
        {
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
             = sql;
            comm.Connection = conn;
        }

        //增删改
        public int ExecuteNonQuery(string str)
        {
            int count = 0;
            using (SqlCommand comm = new SqlCommand())
            {
                PrepareSQLCommand(str, DBHelper.conn, comm);
                count = comm.ExecuteNonQuery();
            }
            return count;
        }
2010-06-01 13:30
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
收藏
得分:0 
??
2010-06-01 20:52
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
你说的USING是这种类别的吧?
using(Pen pen=new Pen(color.red)){
   .....
}

如果是那么PEN的使用域只有在{}之间,
能使用USING模式的类必须继承DISPOSE,{}执行完后自己会释放,有关代码查看IL码很清楚。
但是他释放的东西仅是你在USING里面定义的变量,其他变量不会去管的,更不用说公共变量或静态变量了。因为静态变量和这个USING根本扯不上关系。
所以自己手动关闭吧

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2010-06-01 23:01
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:0 
这个问题 都没怎么遇到过,长知识了

QQ:81704464
2010-06-02 08:12
名沁
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:173
注 册:2009-4-5
收藏
得分:0 
学习一下
2010-06-02 22:29
ouxianzhi520
Rank: 8Rank: 8
来 自:重庆
等 级:蝙蝠侠
威 望:3
帖 子:245
专家分:932
注 册:2007-12-1
收藏
得分:0 
最近才看到using的这方面 知识,进一步长知识了,

[url=http://blog./ouxianzhi520]csdn个人博客[/url]
2010-06-03 16:44
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
收藏
得分:0 
谢谢你们的回复,六楼说的,跟我了解到得是一样的~~~~~~~~~~
2010-06-03 21:23
快速回复:using 自动关闭机制 不能关闭 静态 SqlConnection
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021261 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved