高效简单的ado.net连接对象详解
其实避免出现这种情况和提高Connection对象的使用性能的方式很简单,我们这里列出两种方式供初学者或遇到过这种问题的朋友选择:
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy7897')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy7897>
SqlConnection conn = new SqlConnection("链接字符串");
try
{
conn.Open();//打开catch (SqlException err)
{
//这里可以将错误信息写入日志
}
finally
{
conn.Close();//在完成conn对象的操作后需要关闭链接
}
这么做的原因是,虽然.NET框架中有垃圾回收机制,但是我们为了能确保资源的有效利用,所以需要尽早的释放到资源,以保证其能被有效的利用起来。同时,我们也不建议大家直接在操作完成后使用conn.Close()方法,因为这样的话,如果在本次操作出现错误后,conn将不再继续往下执行,那么意味着链接就不会关闭,其结果是你第二次操作时,将来提示链接没有被关闭。
2.也可使用using语句块:
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy8271')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy8271>using (SqlConnection conn = new SqlConnection("链接字符串"))
{
conn.Open();
//添写针对链接对象所做的一些操作
}
有兴趣的朋友,可以去研究一下using关健字在C#中的各种用法,那么在这里using所起到的作用是不论如何退出语句块,都会释放到conn对象的资源。
您可能感兴趣的文章:
ADO 与ADO.NET
.NET Remoting 实现分布式数据库查询
高效简单的ado.net连接对象详解
ASP.NET 数据库连接方式
亲密接触ASP.Net(6)
c# 获取数据库中所有表名称的6种方法与实现代码
.net面试问答(大汇总),.net求职者不容错过
利用ASP.NET DataGrid显示主次关系的数据
DataSet DataTable DataReader DataAdapter详解
php能做分布式吗