c#自动关闭数据库连接

c#自动关闭数据库连接

第一种形式;     
    public       DataTable       getDataTable(string       strSQL)       
    {       
            try       
                {       
                        open();       //打开数据库连接     
                        数据库,操作       
                }       
            catch       
                {       
                            异常       
        
                }       
                finally       
                {           
                          if(Conn.state=ConncetionState.open)       
                              {       
                                  Close();       //关闭数据库连接 
                              }       
                }       
    }       

  第二种形式:  自动关闭数据库
public       DataTable       getDataTable(string       strSQL,string   connString)     
  { 
    DataTable   dt; 
    try       
    {       
          using   (SqlConnection   conn   =   new   SqlConnection(connString))   
        { 
                //数据库操作; 
                return   dt; 
        } 
    } 
    catch       
    {       
        异常       
    }       

其实之所以ms把ado.net设计成inmemory   database就是不希望connection总是连接的状态,有可能的话会尽快收回连结池,所以频繁的开关connection是ado.net乐意看到的。而且在带宽急速提高的今天这也是有效分担服务器负载的好方法。 
———————————————————————————————————————— 
不对。这个说法没有区分逻辑连接还是物理连接。实际上仅对逻辑连接才需要尽快关闭,对物理连接需要尽量推迟关闭并且尽量复用。 

如果你使用一种数据库引擎的DBConnection的子类,它不自动支持连接池功能,你就不应该频繁开关connection,给你的编程建议与SqlCnnection绝对完全想反。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值