A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 面朝大海,春暖 中级黑马   /  2013-10-11 10:44  /  1401 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 面朝大海,春暖 于 2013-10-11 11:50 编辑

如下面代码:using (SqlConnection con = new SqlConnection(cstr)) 此处使用using(..)与不使用using什么区别?最大的作用是什么?还是本身这样规定的。。求各位高手解惑。。

  • using System.Data.SqlClient;  
  • public class sqlServerConnection {  
  • //
  • public static void Main() {  
  • //下面就是标准的连接,注意SERVER是我的计算机名。SQLEXPRESS是数据库实例。SSPI表示使用Windows登陆的帐户。master是要连接的数据库。
  • //
  • string cstr = "server=SERVER\\SQLEXPRESS;Initial Catalog=master;Integrated Security=SSPI";  
  • //
  • try {  
  • //
  • using (SqlConnection con = new SqlConnection(cstr)) {  
  • con.Open();  
  • System.Console.WriteLine("ServerVersion:{0}",con.ServerVersion);  
  • System.Console.WriteLine("State:{0}",con.State);  
  • }  
  • //
  • }  
  • catch (System.Exception sqle) {  
  • System.Console.WriteLine(sqle.Message);  
  • }  
  • //


评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

3 个回复

倒序浏览
using就是执行完语句块中的内容的时候,就会释放掉括号里面的对象哦,比如代码里面的sql连接对象,如果不使用using的话就要显示的关闭conn,如果不用的话还要显示的释放掉,关闭和释放分别用close(),dispose()方法。而用using当程序运行完毕的时候则程序自动调用对象的close(),dispose()方法,从而防止因为忘了调用close方法引发的异常。
回复 使用道具 举报
我理解的这些~
using 是.NET中用来资源释放的关键字
实现了IDisposible接口的对象都可以用using来进行资源回收
当你使用using打开数据库链接后在不用的时候会自动帮你关闭链接来回收资源(就是调用实现IDisposible接口中的Dispose()这个方法)
其实不光数据库这里用到,还有文件流中(如FileStream)等也是用using来进行资源回收
回复 使用道具 举报
谢谢。。。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马