本帖最后由 DouleString 于 2010-04-02 09:30:04 编辑

解决方案 »

  1.   

    不要用static,这个地方的内存是在应用程序结束的时候才会释放的,
    你那个conn没有关闭
      

  2.   

    不是那的问题,我就算去掉STATIC也是同样的错误
      

  3.   

    你测试一下载你fill之前的conn的状态
      

  4.   

    写代码的时候注意用完connection要关闭..否则就会出现上述问题。
      

  5.   

    fill方法的问题吗?
    那断点的时候看到的dt的值对吗?
    还有方法中传的commandText的值呢?
      

  6.   

     private static SqlConnection connection;
             public static SqlConnection Connection
             {
                 get
                 {
                    string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                    if (connection == null)
                    {
                       connection = new SqlConnection(connectionString);
                       connection.Open();
                    }
                    else if (connection.State == System.Data.ConnectionState.Closed)
                         {
                            connection.Open();
                         }
                    else if (connection.State == System.Data.ConnectionState.Broken)
                         {
                             connection.Close();
                             connection.Open();
                         }
                    return connection;
                 }
             }我也不知道了。。乱猜猜看,不知道会不会是没有set的关系。。
      

  7.   

    还是连接的问题。 给你发个conn 类,希望对你有帮助。
       using (SqlConnection con = new SqlConnection())
                    {
                        con.ConnectionString = connectionString;
                        SqlDataAdapter sda = new SqlDataAdapter(sql, con);
                        DataSet ds = new DataSet();
                        try
                        {
                            sda.Fill(ds, "data");
                        }
                        catch
                        {
                            sda.Dispose();
                            con.Close();
                            con.Dispose();
                        }
                        return ds;
                    }
    或者用conn之前先判断是否open()   if(con.State! =ConnectionState.Open) con.Open();
      

  8.   

    引用 13 楼 sxy445566 的回复:
    private static SqlConnection connection;
    public static SqlConnection Connection
    {
    get
    {
    string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionSt……
    你牛B,看来这个问题注定杯具——————————————————————————————————为什么不试试呢,反正有总比没有好