to wangxiaohu :我用的是多线程,每个线程调用上面的一次操作!!
把连接数设到500个,经过500个线程就完完了!! to morefish :insertCMD对象怎么销毁???

解决方案 »

  1.   

    insertCMD.Dispose();
    MyConn.Close();
    MyConn.Dispose();
      

  2.   

    to morefish
    用insertCMD.Dispose(); 会出现以下错误:CS0246:找不到类型或命名空间名称“insertCMD”(是否缺少using指令或程序集引用)
      

  3.   

    是不是因为insertCMD没有关闭的原因?
      

  4.   

    string strConn ="server=UU;Initial Catalog=CESHI;integrated security=yes;User ID=sa;Password=198066";
    using( SqlConnection MyConn=new SqlConnection(strConn) )
    {
    MyConn.Open();
    string insertStr = "INSERT INTO aaaaaa (name,school,money) Values('"+strSrcMobile+"', '"+strFee+"','"+strMsg+"')";
    using( SqlCommand insertCMD = new SqlCommand(insertStr, MyConn) )
    {
    insertCMD.ExecuteNonQuery();
    }
    MyConn.Close();
    }如果有问题,请贴出你的线程调用来看看
      

  5.   

    insertCMD.ExecuteNonQuery();
    insertCMD.Dispose();
    MyConn.Close();
    MyConn.Dispose();
    这个是执行的顺序。你是不是把insertCMD写错了啊,再试试。
      

  6.   

    to morefish
    顺序没有错呀!!
    还是这个错误!!
    CS0246:找不到类型或命名空间名称“insertCMD”(是否缺少using指令或程序集引用)
      

  7.   

    string strConn ="server=UU;Initial Catalog=CESHI;integrated security=yes;User ID=sa;Password=198066";
      using(SqlConnection Conn=new SqlConnection(strConn))
    {    
        Conn.Open();
        string sql="select top 1 * from game2003 where Addr=8446588 and game=0 ";
        using(SqlCommand Cmd= new SqlCommand(sql,Conn))
     {    
        { SqlDataReader dr=Cmd.ExecuteReader();
           while(dr.Read())
           {
           string getcontent = dr["FUD"].ToString();
          string recTmStr = getcontent;
           string ID=dr["FOrgAddr"].ToString();
           }
         
         dr.Close();
        }
       Cmd.Dispose();
     }
       string updatestring="UPDATE game2003 set game=1 where FUD='"+recTmStr+"' and FOrgAddr='"+ID+"'";
       using(SqlCommand cmd1=new SqlCommand(updatestring,Conn))
      { 
       cmd1.ExecuteNonQuery();
      }
    Conn.Close();
    Conn.Dispose();
    }
    请大家看看,这到底是怎么回事??出现下面的问题,程序哪里有错超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。
      

  8.   

    所有的insetCMD命令全部用一个共享的connection。
    把连接超时的时间设短一点。
      

  9.   


    给连接再加一个参数试下:Connection Lifetime=如果还不行,为什么不使用静态连接?这样就不用每次创建新的连接了。始终都是一个连接,但如果产生连接错误或调用事务比较麻烦,需要额外增加一些代码。