你在DataGrid1.DataBind()的时候第一个数据库连接就应该可以关闭了;
DataGrid1_ItemDataBound()的时候应该再新建连接,不过不建议在DataGrid1_ItemDataBound()这种地方做数据库查询,如果你的datagrid单页有10条记录的话就要查询10次数据库,有其它方法的话应该尽量避免

解决方案 »

  1.   

    连接在open之前只是一个普通的内存对象,在open以后它就是一种资源对象,只要用完以后记得close(关闭资源)和dispose(销毁对象)就可以了。
      

  2.   

    用的时候打开,用完就关,写成单独的类,到时候OPEN在web.config里
      

  3.   

    如果你用的不是。connect.open(),用SqlDataAdapter或其他用完自己就关了,用.open(),就得close()
      

  4.   

    用的时候打开,用完就关,写成单独的类,到时候OPEN,将这些操作写成类
      

  5.   

    用.open(),就得close(),用的时候打开,用完就关
      

  6.   

    在解决方案中添加类库DataAccess,实现一个数据连接层。 
    namespace DataAccess
    {
      public class ConnectionBuilder
      {
        public static SqlConnection BuildConnection()
        {
          string connectionString = "Server=JOSEPH-01;initial catalog=MessageBoard;user id=sa; pwd=123456";
          SqlConnection conn = new SqlConnection(connectionString);
          conn.Open();
          return conn;
        }
      }
    }调用时用:
    SqlConnection objConnection = DataAccess.ConnectionBuilder.BuildConnection();
    因为是static,只分配一个地址,但用完最好手动关闭。