sql >> Database >  >> RDS >> Mysql

Waarom haalt mijn C#-toepassing nog steeds gegevens op uit MySql zonder connectie.Open()

Sinds de bedoeling om adapter.Fill(table); . aan te roepen is om gegevens uit de database op te halen. Ik zou sterk verwachten dat de Fill methode opent de verbinding als dat nog niet het geval is.

U hoeft alleen maar expliciet Open . aan te roepen als u van plan bent te werken op de connection rechtstreeks in plaats van via hulpklassen zoals MySqlDataAdapter bijvoorbeeld. Je kunt het natuurlijk openen wanneer je maar wilt.

Ik zou echter willen voorstellen dat u de verbinding in een using verklaring om ervoor te zorgen dat het wordt gesloten en weggegooid wanneer u er klaar mee bent:

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. Selecteer datum uit tijdstempel in SQLAlchemy

  2. Gebruik PHP om mysql-waarden in het JSON-bestand te dumpen

  3. Hoe het schema in Mysqlinput on the fly te raden in Talend

  4. Database bewerken met goedkeuring - mysql