Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que meu aplicativo C# ainda recupera dados do MySql sem usar connection.Open()


Desde a intenção de chamar adapter.Fill(table); é recuperar dados do banco de dados, eu esperaria muito que o Fill método abre a conexão se ainda não estiver.

Você só precisaria chamar explicitamente Open se você pretende operar na connection diretamente em vez de através de classes auxiliares como MySqlDataAdapter por exemplo. É claro que você pode abri-lo sempre que quiser.

No entanto, sugiro que você coloque a conexão em um using declaração para garantir que ela seja fechada e descartada quando você terminar com ela:
using (var connection = new MySqlConnection(conString))
{
    DataTable table = new DataTable();
    MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM users", connection);
    adapter.Fill(table);
    dataGridView1.DataSource = table; 
}
// Now you are sure the connection is closed and being properly garbage collected