while(true)
SqlConnection sqlconn= new SqlConnection("XXXXXXX")//代码就当对了
为什么不会报错  sqlconn在不断开的情况下还可以在建立连接吗??? 

解决方案 »

  1.   

    你这样写代码,如果while循环10次,会创建10个连接...
    每个连接之间是没有关系的,不存在打开关闭的问题。
    况且你也没有.Open()~
      

  2.   

    你这里没有.open()所以不存在与数据库的连接,
    所以你这里只相当于创建多个con对象
      

  3.   

    在不断开的情况下是可以建立连接的,这个是new一个建立一个连接。如果你建立一个连接池的话,当连接的个数达到了最大的时候,到时候才会出错
      

  4.   

    你只是建立了多个连接对象,但是没有Open(),所以当然不会错了
      

  5.   

    你加了open后一样也可以,但是有连接的数目,超过会出错。
      

  6.   

    那么为什么 SqlConnection sqlconn= new SqlConnection("XXXXXXX")
    sqlconn.open();
    sqlconn.open();
    这样报错
        
            for (int i = 1; i <= 2; i++)
                {
    SqlConnection sqlconn = new SqlConnection(XXXXXX);
                    sqlconn.Open();
                }
    这样就不报错
      

  7.   

    那么为什么 
    SqlConnection sqlconn= new SqlConnection("XXXXXXX")
    sqlconn.open();
    sqlconn.open();这样报错 
     
            for (int i = 1; i <= 2; i++)
                {
    SqlConnection sqlconn = new SqlConnection(XXXXXX);
                    sqlconn.Open();
                }这样就不报错
      

  8.   


    那么为什么
    C# codeSqlConnection sqlconn=newSqlConnection("XXXXXXX")
    sqlconn.open();
    sqlconn.open();这样报错
    //这是用同一个对象建立连接,不允许这样,所以出错C# codefor(inti=1; i<=2; i++)
                {
    SqlConnection sqlconn=newSqlConnection(XXXXXX);
                    sqlconn.Open();
                }
    这样就不报错
    每次循环都是新对象,所以不出错
      

  9.   

    关键在于循环时每循环一次都认为是一个新的对象,所以可以open();
    但是对于同一个对象不可以多次打开,必须关闭才行。