日期:2014-05-19  浏览次数:20478 次

这样定义数据库连接,是不是有很大隐患?
public   static   string   ConnectString   =   ConfigurationManager.AppSettings[ "SetSqlConn "];
        public   static   SqlConnection   Sqlconn;
        ///   <summary>
        ///   开始打开数据操作
        ///   </summary>
        public   static   SqlConnection   OpenSqlConn()
        {
                Sqlconn   =   new   SqlConnection(ConnectString);
                if   (Sqlconn.State   ==   ConnectionState.Closed)
                {
                        Sqlconn.Open();
                }
                return   (Sqlconn);
        }

 定义成静态的,会不会因另外一个用户改变了它的状态而使另一个用户受影响?
 访问:类名.OpenSqlConn()       //打开
    类名.Sqlconn.close()   //关闭


------解决方案--------------------
那你就用readonly的
public static readonly string ConnectString = ConfigurationManager.AppSettings[ "SetSqlConn "];
------解决方案--------------------
注意try catch
用完就关就好,但是注意不能用readonly 吧,因为你可能不止连一个数据库。
------解决方案--------------------
每次都要new
不是很好 做成单件只new一次吧 如果操作量不大的话
------解决方案--------------------

------解决方案--------------------
学习ing ...
------解决方案--------------------
lz.
每次直接调用 类名.Sqlconn.close()来关闭连接可能会造成不是关闭当前使用的连接.因为可能
现在的 类名.Sqlconn 可能已经不是你建立连接时的那个连接.建议对代码进行改动.