技术开发 频道

简单高效地使用ADO.NET连接对象

  【IT168技术】很多初学者朋友在做项目时遇到过这样的问题,那就是在本地调试运行的程序正常,放到服务器上也是正常的,但是如果有了一些并发之后,就会发现页面会出现打不开的现象,其实大多数时候是因为Ado.net链接没有处理完善。当然对于老鸟来说这种情况是不会发生的。

  其实避免出现这种情况和提高Connection对象的使用性能的方式很简单,我们这里列出两种方式供初学者或遇到过这种问题的朋友选择:

  ①使用try-catch-finally语句块:

SqlConnection conn = new SqlConnection("链接字符串");        
try
{
   conn.Open();
//打开数据库链接      
    
//添写针对链接对象所做的一些操作    
}        
catch (SqlException err)        
{        
    
//这里可以将错误信息写入日志    
}        
finally        
{          
    conn.Close();
    
//在完成conn对象的操作后需要关闭链接    
}

  这么做的原因是,虽然.NET框架中有垃圾回收机制,但是我们为了能确保资源的有效利用,所以需要尽早的释放到资源,以保证其能被有效的利用起来。同时,我们也不建议大家直接在操作完成后使用conn.Close()方法,因为这样的话,如果在本次操作出现错误后,conn将不再继续往下执行,那么意味着链接就不会关闭,其结果是你第二次操作时,将来提示链接没有被关闭。

  ②也可使用using语句块:

using (SqlConnection conn = new SqlConnection("链接字符串"))      
{        
   conn.Open();      
  
//添写针对链接对象所做的一些操作    
  }

  有兴趣的朋友,可以去研究一下using关健字在C#中的各种用法,那么在这里using所起到的作用是不论如何退出语句块,都会释放到conn对象的资源。

  当然,我的建议是大家可以结合起来使用,因为using对象可以确保资源的释放,而try语句块可以让我们抓取异常,并且写到Log中。

0
相关文章