Obviously you need to go through the code to make sure you are closing all the datareaders and connections. Use the Using statement with connections so it makes sure the connection is closed after using. Also, use the finally blocks with try catch to make sure the connections are closed even if you get any errors.