sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor henter min C#-applikation stadig data fra MySql uden at bruge forbindelse.Open()

Siden hensigten med at kalde adapter.Fill(table); er at hente data fra databasen, ville jeg meget forvente, at Fill metode åbner forbindelsen, hvis den ikke allerede er det.

Du behøver kun udtrykkeligt at kalde Open hvis du har til hensigt at operere på connection direkte i stedet for gennem hjælpeklasser som MySqlDataAdapter for eksempel. Du kan selvfølgelig åbne den, når du har lyst.

Jeg vil dog foreslå, at du sætter forbindelsen i en using erklæring for at sikre, at den er lukket og bortskaffet, når du er færdig 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. Mærkelige resultater ved at bruge rækkefølge efter og grænse

  2. Nye Azure SQL Database Standard Tier Sizes

  3. Mysql Vælg anden række

  4. mysql join med flere værdier i én kolonne