教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Asp.net  >  正文 高效简单的ado.net连接对象详解

高效简单的ado.net连接对象详解

发布时间:2018-09-10   编辑:jiaochengji.com
教程集为您提供高效简单的ado.net连接对象详解等资源,欢迎您收藏本站,我们将为您提供最新的高效简单的ado.net连接对象详解资源
很多初学者朋友在做项目时遇到过这样的问题,那就是在本地调试运行的程序正常,放到服务器上也是正常的,但是如果有了一些并发之后,就会发现页面会出现打不开的现像,其实大多数时候是因为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能做分布式吗

[关闭]
~ ~