<p>I have a dropdown box and a literal tag inside an Update Panel.  On the selection change event of the dropdown up requery the database and repopulate the literal tag and then call UPdatePanel.Update().</p>

<p>below, is there are way i can avoid having to create a new Oledbconnection each time as this seems slow.  Can i reuse and store:</p>

<ol>
<li>The Datasource</li>
<li>The connection in the page.  </li>
</ol>

<p>if so, how do i keep this state between calls from the GUI to the server?  Here is my selection change code below</p>

<pre><code>protected void cboPeople_SelectedIndexChanged(object sender, EventArgs e)
{
    string dataSource = ConfigurationSettings.AppSettings["contactsDB"];
    var objConn = new OleDbConnection(dataSource);
    string id = People[cboPeople.Text];
    UpdateLiteral(objConn, id);
}
</code></pre>

You need to recreate this for each request.  You have a a state less server.  you never know when or if your client will call back. You do not want to keep an open connection to the database nor could you simply service multiply clients while maintaining one database connection.
To deploy high-performance
  applications, you must use connection
  pooling. When you use the .NET
  Framework Data Provider for OLE DB,
  you do not have to enable connection
  pooling because the provider manages
  this automatically. For more
  information about how to use
  connection pooling with the .NET
  Framework Data Provider for OLE DB,
  see OLE DB, ODBC, and Oracle
  Connection Pooling (ADO.NET).
  From
OleDbConnection Class