在Visual Studio 2012中的mysql连接状态c#

问题描述:

我有这个应用程序从MySql数据库检索数据,我不需要打开连接来连接数据库这怎么可能?通常您需要添加像connection.Open()connection.Close()。我在这里错过了什么吗?我使用Visual Studio 2012和ADO.NET 4.0在Visual Studio 2012中的mysql连接状态c#

代码:

public partial class Filter1 : Form 
{ 
    public Filter1() 
    { 
     InitializeComponent(); 
    } 
    private void Filter1_Load(object sender, EventArgs e) 
    { 
     MySqlConnection connection = new MySqlConnection("server=;database=;uid=;password=;"); 
     MySqlDataAdapter mySqlDataAdapter; 
     DataSet DS = new Dataset(); 

     MySqlCommand command = connection.CreateCommand(); 
     command.CommandText = "SELECT * FROM table"; 
     mySqlDataAdapter = new MySqlDataAdapter(command.CommandText, connection); 
     mySqlDataAdapter.Fill(DS.Tables[0]); 
     ViewG.DataSource = DS.Tables[0]; 
    } 
+1

您正在使用的MySql连接器类在内部为您做。 –

您不必手动开放和关闭连接,因为mySqlDataAdapter.Fill()会做自动你。请参阅文档:enter link description here。备注下的第一段为:

与select命令关联的IDbConnection对象必须是 有效,但不需要打开。如果在调用Fill之前IDbConnection已关闭 ,则会打开它以检索数据,然后关闭。如果 连接在调用Fill之前打开,它将保持打开状态。

+0

因此在'mySqlDataAdapter.Fill()'后自动关闭? –

+0

是的。看我的编辑。如果它在Fill()之前关闭,它将打开并关闭它。如果它最初是开放的,它会将其打开。 –