有一种可能是你在用SqlDataReader对象时,用完没有及时的将该对象Close()掉
多了就会出现线程池满的现象,注意善后很重要

解决方案 »

  1.   

    SqlDataReader不需要close吧,象这个!
    public bool ifsend(int num)
    {
    string sql="select sendmoney from company where id="+num;
    SqlConnection Con = new SqlConnection(data.constr);  
    SqlCommand objCommand =new SqlCommand(sql,Con);
    SqlDataReader objDataReader ;
    objCommand.Connection.Open();
    objDataReader = objCommand.ExecuteReader();
    if(objDataReader.Read())
    {

    if(objDataReader.GetValue(0).ToString()=="0")
    return false;
    else 
    return true;
    }
    else

    objCommand.Dispose();
    return false;
    }
      

  2.   

    可能是连接池的问题,你用的是SQL SERVER吗?可以打开当前进程信息看看到底是哪些东东在连数据库而占用了连接。如果是你的应用程序,就把程序中用完后的CONNECTION关闭。
      

  3.   

    我看了,确实有很多进程!可取消不了!我把Sql服务停止重新启动后,进程没有了!可访问的话还是这个错误!不解中
      

  4.   

    应该是连接池溢出了,SqlDataReader需要Close,不然会出问题刚才解决掉的一个问题就是因为这个!