Eftersom avsikten att anropa adapter.Fill(table);
är att hämta data från databasen. Jag förväntar mig starkt att Fill
metoden öppnar anslutningen om den inte redan är det.
Du behöver bara uttryckligen anropa Open
om du tänker använda connection
direkt istället för genom hjälpklasser som MySqlDataAdapter
till exempel. Du kan naturligtvis öppna den när du vill.
Jag skulle dock föreslå att du lägger anslutningen i en using
uttalande för att säkerställa att den är stängd och kasserad när du är klar med den:
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