sql >> Databasteknik >  >> RDS >> Mysql

Varför hämtar min C#-applikation fortfarande data från MySql utan att använda anslutning.Open()

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



  1. Det gick inte att visa XML-data med PHP-skript

  2. Mysql join från flera tabeller

  3. Kategorihierarki (i ordning) med PHP MySQL

  4. MYSQL SUMMGRUPP EFTER