Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 连接数据库的2种方式
【标  题】:连接数据库的2种方式
【关键字】:
【来  源】:http://blog.csdn.net/burningcpu/archive/2006/12/07/1434027.aspx

连接数据库的2种方式

Your Ad Here    对于数据库操作来说,首先第一步就是建立连接,然后才是一些具体的操作。必须在操作完后释放资源,对于连接数据库有2种方式,对于第一种方式我们用的是最多的,而对于第二种方式似乎很少用到,甚至根本没有听说过。

    One method:try...catch...finally...

    try
   {
      //Open the connection
      conn.Open();
      //Do something useful
   }
    catch(Exception ex)
   {
      //Do something about the exception
   }
   finally
  {
      //Ensure that the connection is freed
       conn.close();
  }

    在finally块中,可以释放已经使用的任何资源。这种方式的惟一麻烦是必须确保关闭连接。很容易忘记在finally块中添加关闭连接的命令,所以应在编码风格上添加一些不容易出现反常情况的内容。
另外,在给定的方法中可能会打开许多资源(例如两个数据库连接和一个文件),这样try…catch…finally块的层次有时可能不容易看懂。但还有另一个方式可以确保资源的关闭—— 使用using语句。

    the other method:

    在开发C#的过程中,.NET在对象不再引用之后清理它们的方法是使用非决定性的析构方式,这已经引起了一个非常热烈的讨论。在C++中,对象只要使用完毕,就会自动调用其析构函数。这对于设计基于资源的类的人员来说,是一个非常好的消息,因为如果用户忘记关闭资源,使用析构函数是非常理想的。只要对象使用完毕,就会调用C++析构函数。所以,如果出现了异常,但没有捕获,有析构函数的所有对象就会调用它们的析构函数。
    在C#和其他托管语言中,没有自动、决定性的析构方式,而是有一个垃圾收集器,它会在未来的某个时刻释放资源。它是非决定性的,因为我们不能确定这个过程在什么时候发生。忘记关闭数据库连接可能会导致.NET可执行程序的各种问题。幸运的是,我们还有解决的方法。下面的代码说明了如何使用using子句确保实现IDisposable接口的对象在退出块时立即被释放。
    string source = "server=(local)\\NetSDK;" +
                " integrated security=SSPI;" +
                "database=Northwind";
 
    using ( SqlConnection conn = new SqlConnection ( source ) )
   {
      // Open the connection
      conn.Open ( ) ;
 
     // Do something useful
   }
在这个示例中,无论块是如何退出的,using子句都会确保关闭数据库连接。

 
xml control and xsl in asp.net:【上一篇】
Windows平台网络视频监控系统随想:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • WPF/E开发基础答疑(1)
  • ASP+ 与 Java(二)
  • 安装SQL Server 2000时“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新...
  • DB2 memory and file cache performance tuning on Li
  • ip route-cache 命令
  • .Net应用程序发布问题的最新解决方案,感觉比较爽(可桌面、程序中加自己的ICO及卸载等)
  • 学习做生意语言
  • 多线程编程的设计模式 临界区模式(三)
  • 向下服务论
  • Cisco测试命令和TCP/IP连接故障处理(1)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.