closing and opening connections is expensive it time and resources, so it makes sense to do it as infrequently as possible.
I'd ag1ree with aflorin if your front end language supports connection pooling then thats a smart way to go.
I don't think it makes sense to open more than one connection in any one instance of the front end.
It should be possible to extract all the data you need fromt he same connection. it makes sense to release the connection as soon as you have finished with that connection (ie consumed all the data) or run what ever SQL processes you want.
connection pooling isn't however a free lunch, you may have to go through specific steps to invoke connection pooling, and IIRC it only works if the userid and database are identical.. but that may depend on the front end language you are using.