Cita: Creeis que debo definirlas en la clase y luego hacer los new en cada evento de botón y al terminar asignar a nothing o debería definirlas dentro de cada evento de botón con nombres diferentes en cada evento es decir:
Conexion1, Adapter1, Sentencias1 para Button5_Click y Conexion2, Adapter2, Sentencias2 para el otro
Yo personalmente prefiero crear una clase exclusivamente para manejar toda la relación con la BB.DD., incluyendo la creación de las conexiones.
Sobre este punto mis recomendaciones mínimas son:
1.
Usa una sola conexión por sesión de usuario. Abrir y cerrar conexiones
satura rápidamente el pool de conexiones de Windows y eventualmente se agotará. Lamentablemente no tienes mucho control sobre él, de modo que cuando se satura sólo queda esperar un tiempo hasta que se limpia de conexiones muertas.
2. Si usas DataReaders, cuando los dejes de usar, primero
ciérralos y luego elimínalos. Un DataReader sin cerrar y sin liberar es una conexión de lectura más abierta.
3. En lugar de declara simplemente Nothing una conexión solamente,
destruye el objeto que la contiene. El Nothing sólo no libera bien los recursos, y la conexión persiste en el pool.
4. Como el objeto MysqlCommand depende de la conexión, si destruyes el objeto Connection, el Command se queda sin recursos. No molesta,
pero no está de más liberarlo.
5.
Usa un sólo objeto Mysql por tipo en la clase (rara vez necesitas más de eso), y reusalos.
6.
No generes objetos conexión de clase indiscriminadamente. No sirven más que para complicar el código. Si necesitas abrir una segunda conexión,
hazlo en un método, de modo que una vez terminado el método el objeto muera. Lo mismo vale para el resto de los objetos.
7. La liberación de memoria, o su limpeiza puede ser reafirmada por medio de algunos métodos. Este te sugiero ponerlo en el módulo, de modo de invocarlo desde cualquier parte:
Código vb.net:
Ver original'Funcion de liberacion de memoria
Public Sub ClearMemory()
Try
Dim Mem As Process
Mem = Process.GetCurrentProcess()
SetProcessWorkingSetSize(Mem.Handle, -1, -1)
Catch ex As Exception
'Control de errores
End Try
End Sub