sql >> Databáze >  >> RDS >> Mysql

Proč moje aplikace C# stále načítá data z MySql bez použití connection.Open()

Od záměru volat adapter.Fill(table); je získat data z databáze, velmi bych očekával, že Fill metoda otevře připojení, pokud ještě není.

Stačí explicitně zavolat Open pokud máte v úmyslu pracovat na connection přímo namísto pomocí pomocných tříd, jako je MySqlDataAdapter například. Můžete jej samozřejmě otevřít, kdykoli budete chtít.

Navrhoval bych však, abyste připojení vložili do using prohlášení, abyste zajistili, že bude uzavřen a zlikvidován, až s ním skončíte:

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. Jak získat nejvíce vpravo 10 míst řetězce v oracle

  2. Jak nasadit PostgreSQL pro vysokou dostupnost

  3. Nelze stáhnout binární soubor v PHP

  4. Hodnota vnějšího výběrového sloupce ve spojeném poddotazu?