From a best practice performance standpoint what is the best way to set this up? I need to create a control panel that will have several options that all pertain to doing various things to a single SQL database. My question is, should I write this routine so that it opens the database connection once when the control panel is fired up or should I open the database connection within each module called and close it upon exiting? I am not sure of the cost overhead with opening a connection and then leaving it open. I will be using VS 2010 C# to create this application.