La Cosa está asi...la aplicacion se utilizará basicamente para dos cosas, Ingresaran datos de Clientes (esto nos será siempre), y mas que todo se utilizará para hacer consultas a la DB de los clientes...el problema es que al mantener la conexion (Pienso yo simple conjetura mia) es que si mantengo abierta esa conexión estaré desperdiciando recursos del sistema....otra cosa que quiero saber es si en C++. net al cerrar un formulario que inicio la conexión se pierde esa conexión para todas las instancias de dicha aplicacion...
Supongo que si se estara desconectando cuando destruyas el objeto que genera la conexión.
Lo que podrias hacer, es que inicialices la conexion al momento de inicializar el programa, y no cada vez que se abra un formulario.
Lo mas optimo es tener la conexion abierta, si vas a estar actualizando datos, porque estar abriendo la conexion por cada actualizacion solo te podria generar retardos que probablemente no quieras.
Un ejemplo de trabajo offline, en que no necesitas tener abierta la conexion, es por ejemplo con la autenticación. Para autenticar un usuario no es necesario que tengas abierta la base de datos todo el tiempo.