using (System.Data.SqlClient.SqlCommand mycommand = new System.Data.SqlClient.SqlCommand(mysql, PackSystem.Global.G_connection), System.Data.SqlClient.SqlDataReader myreader = mycommand.ExecuteReader())
{
……………………
}

解决方案 »

  1.   

    using (System.Data.SqlClient.SqlCommand mycommand = new System.Data.SqlClient.SqlCommand(mysql, PackSystem.Global.G_connection)) 

    System.Data.SqlClient.SqlDataReader myreader = mycommand.ExecuteReader();
    …………………… 
    }
    看看using的用法吧,()里面包括一个对象,用完掉释放。
      

  2.   

    只能是一个对象么 ?
    按照你的写法
    System.Data.SqlClient.SqlDataReader myreader = mycommand.ExecuteReader(); 
    出了这个函数段 是不是就自己释放了
      

  3.   

    使用 MSDN 看看吧,基础的东西,不能太浮躁了。
      

  4.   

    mycommand释放后,myreader自然就释放了。如果你非要手动释放,可以用using套嵌
    using()
    {
        using()
        {
        }
    }
      

  5.   

    using() 

        using() 
        { 
        } 
    }
      

  6.   

    mycommand释放后,myreader自然就释放了。如果你非要手动释放,可以用using套嵌  
    using()  
    {  
        using()  
        {  
        }  

      

  7.   

    干嘛非要用using呢,使用完自己手动释放下不行么?
    代码写的这么长,而且复杂的
      

  8.   

    using  
    等于
    try
    {}
    catch
    {}
    如果需要using 多个对象的话,
    直接用
    try
    {}
    catch
    {}
    更方便。
      

  9.   

    你的语句错在SqlCommand不含带SqlDataReader参数的构造函数。
    SqlDataReader是和SqlCommand关联的,如果SqlCommand释放了后,SqlDataReader是会自动关闭的,不过建议手动关闭,这是良好的编程风格。
    另外,用using比try能更安全的释放内存。
      

  10.   

    using有两个主要用法1,引入名称空间,提供名称调用方便,或申请别名.
    例:using System;using System.IO;
    using FS=System.IO.FileStream;2,针对对象来说规定它的生存边界
    例:
    using (StreamWriter sw=new StreamWriter(File.Open("x.text"
    ,FileMode.Append)))
    {
      //对象sw在这个大括号里是存在的过了就被自动释放掉了所以你不必
    显示的调用它的象Close();这样的方法,这在有些情况下使用,比如象
    sw这种流对象如果不及时释放掉其它访问该文件的操作会失败.  sw.WriteLine("hellow world !");
    }