Pregunta

¿Cuál es la forma correcta de cerrar una banda de rodadura después de ejecutar una consulta en una base de datos MySQL desde un formulario Windows en C #?

Es un simple cierre abierto lo suficiente como esto?

conn.Open();

//querycode

conn.Close():
¿Fue útil?

Solución

Trate de usar:

using(MySqlConnection conn = new MySqlConnection(connString))
{
    conn.Open();
} // conn is automatically closed and disposed at the end of the using block

Otros consejos

que está bien la forma en que lo está haciendo, también se puede envolver objeto de conexión en el bloque using como esto:

using (var con = new MySqlConnection(/*connection string*/))
{
    con.Open();
    //do stuff
    // con.Close(); //don't need this it will be closed automatically* 
}

( ver )

No, el código en su pregunta no es lo suficientemente bueno. Si la consulta se produce una excepción que no se cerrará () de una manera oportuna y se deja colgando hasta que el recolector de basura nota.

Es necesario incluir al objeto en un bloque using como se muestra por otros o en un mínimo encerrar en una estructura de fin / intentarlo.

Las clases que utilizan los recursos que necesita para limpiar después generalmente implementar el IDisposable interfaz. Esto significa que proporciona una función llamada Dispose () que se puede utilizar para liberar recursos.

Para los objetos desechables, se puede utilizar el usando declaración:

using ( SomeDisposableClass c = new SomeDisposableClass() ) {

    // ... your code here

} // c.Dispose() automatically called here, freeing up resources

Si la clase está codificado correctamente, debe liberar los recursos - ya sea una conexión de base de datos, un identificador de archivo abierto, etc - en su función Dispose ().

Esto significa que el MySQL probablemente se desconecta de la base de datos en Dispose (), por lo que probablemente no es necesario llamar explícitamente c.close () -. Pero siempre verifique la documentación para asegurarse

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top