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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李宗鹏 中级黑马   /  2012-4-22 21:12  /  1838 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.         try
  2.             {
  3.                 SqlConnection conn = new SqlConnection(@"Data Source=LENOVO-PC\LOVEXIAO;Initial Catalog=lovexiao;User ID=sa;Password=love.xiao");
  4.                 conn.Open();
  5.                 SqlCommand cmd = conn.CreateCommand();
  6.                 cmd.CommandText = "insert into Person(name,sex,age,salary,leve,email) values('测试','无',11,5000,12,'lovexiao@sina.com')";
  7.                 cmd.ExecuteNonQuery();
  8.                 MessageBox.Show("打开数据库连接成功");
  9.                 conn.Close();
  10.                 conn.Dispose();
  11.                 MessageBox.Show("关闭数据库连接成功");
  12.             }
  13.             catch
  14.             {
  15.                 MessageBox.Show("打开数据库失败!");
  16.             }
复制代码
  1. using (SqlConnection conn = new SqlConnection(@"Data Source=LENOVO-PC\LOVEXIAO;Initial Catalog=lovexiao;User ID=sa;Password=love.xiao"))
  2.             {
  3.                 try
  4.                 {
  5.                     conn.Open();
  6.                     SqlCommand cmd = conn.CreateCommand();
  7.                     cmd.CommandText = "insert into Person(name,sex,age,salary,leve,email) values('测试','无',11,5000,12,'lovexiao@sina.com')";
  8.                     cmd.ExecuteNonQuery();
  9.                     MessageBox.Show("打开数据库连接成功");
  10.                     conn.Close();
  11.                     conn.Dispose();
  12.                     MessageBox.Show("关闭数据库连接成功");
  13.                 }
  14.                 catch
  15.                 {
  16.                     MessageBox.Show("打开数据库失败!");
  17.                 }
  18.             }
复制代码
一个没加Using一个加的有Using,但是执行的结果一样,有什么区别吗?

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

4 个回复

倒序浏览
胡杰震 来自手机 中级黑马 2012-4-22 23:15:11
沙发
不晓得说啥子!
回复 使用道具 举报
某些对象在使用时非常耗费,using使代码完成后对资源进行释放

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
C# 通过 .NET Framework 公共语言运行库 (CLR) 自动释放用于存储不再需要的对象的内存。内存的释放具有不确定性;一旦 CLR 决定执行垃圾回收,就会释放内存。但是,通常最好尽快释放诸如文件句柄和网络连接这样的有限资源。

using 语句允许程序员指定使用资源的对象应当何时释放资源。为 using 语句提供的对象必须实现 IDisposable 接口。此接口提供了 Dispose 方法,该方法将释放此对象的资源。

可以在到达 using 语句的末尾时,或者在该语句结束之前引发了异常并且控制权离开语句块时,退出 using 语句。

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
对的Using{}在这里面声明的变量什么的 用完了之后会自动被回收的减少内存占用!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马