// If the connection string is null, use a default.
    if(myConnectionString == "") 
    {
       myConnectionString = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
    }
    SqlConnection myConnection = new SqlConnection(myConnectionString);
    string myInsertQuery = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    SqlCommand myCommand = new SqlCommand(myInsertQuery);
    myCommand.Connection = myConnection;
    myConnection.Open();
    myCommand.ExecuteNonQuery();
    myCommand.Connection.Close();
这是MSDN的帮助,这样的话,每次都要一个 new SqlConnection(myConnectionString),这样是不是就没有连接池的概念?每一个动作就一次连接?

解决方案 »

  1.   

    如果使用的是 OleDbConnection、OdbcConnection 或 OracleConnection 类,则连接池将由提供程序自动处理,所以您不必自己进行管理。如果使用的是 SqlConnection 类,则连接池被隐式管理,但也提供选项允许您自己管理池。有关更多信息,请参见使用连接池。
      

  2.   

    如果使用的是 OleDbConnection、OdbcConnection 或 OracleConnection 类,则连接池将由提供程序自动处理,所以您不必自己进行管理。
    --就是说我操作数据库时只管new connection就是了,但不要调用dispose()方法?
      

  3.   

    连接池默认是打开的,要想关闭可以在连接字符串里加入pooling=false