我看到书上这样写代码:
using(SqlCommand cme=new SqlCommand())
{
cmd.Connection=_connection;
if(_connection.State!=Connection.open)
{
_connection.Open();
}
}
为什么要使用using(SqlCommand cme=new SqlCommand())这样来写?
而不是象自己学习的:
SqlConnection con=new SqlConnection()
con.Open();
SqlCommand cmd=new SqlCommand();
cmd.Execute........

解决方案 »

  1.   

    打开数据库连接以前要判断一下数据库连接是否已经被打开了
    这样可以节约资源using语句可以顺带把语句块中的资源全部释放掉
      

  2.   

    using 语句 在结束的时候会自动释放 SqlCommand 的资源注意  using(...)中间的对象必须实现IDispose接口一般来说是 using(SqlConnection conn =new SqlConnection())
      

  3.   

    只要实现IDispose接口的类,加了using()无论出现任何情况,资源都被会释放.
    不过还不如用try...finally..来的直接呢!
      

  4.   

    try  finally 要自己在finally中调用Dispose 或者Closeusing会帮你调用而且try 一般是和catch相关 用于捕获你可能遇到的错误
      

  5.   

    以防万一的方法。用这个写法,要是某些地方忘记用Close了也没关系,