C# visual studio 2012 c中的mysql连接状态#
我有这个应用程序可以从C# visual studio 2012 c中的mysql连接状态#,c#,mysql,visual-studio-2012,C#,Mysql,Visual Studio 2012,我有这个应用程序可以从MySql数据库检索数据,我不需要打开连接就可以连接到数据库,这怎么可能呢?通常您需要添加像connection.Open()和connection.Close()。我是不是遗漏了什么?我使用Visual studio 2012和ADO.NET 4.0 代码: 您不需要手动打开和关闭连接,因为mySqlDataAdapter.Fill()会自动为您执行。请参阅文档:。备注下的第一段如下: 与select命令关联的IDbConnection对象必须是 有效,但不需要打开。如果
MySql
数据库检索数据,我不需要打开连接就可以连接到数据库,这怎么可能呢?通常您需要添加像connection.Open()
和connection.Close()
。我是不是遗漏了什么?我使用Visual studio 2012和ADO.NET 4.0
代码:
您不需要手动打开和关闭连接,因为
mySqlDataAdapter.Fill()
会自动为您执行。请参阅文档:。备注下的第一段如下:
与select命令关联的IDbConnection对象必须是
有效,但不需要打开。如果连接已关闭
在调用Fill之前,先打开它以检索数据,然后关闭它。如果
在调用Fill之前,连接是打开的,它将保持打开状态
您正在使用的MySql连接器类在内部为您执行此操作。因此,在
mySqlDataAdapter.Fill()之后,它将自动关闭?是的。请参阅我的编辑。如果它在Fill()之前关闭,它将打开并关闭它。如果它最初是打开的,它将保持打开状态。
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];
}