如何在整个应用程序中使用mysqlconnection

时间:2017-01-11 14:45:03

标签: c# mysql database

我正在尝试在主窗体中打开MySQL连接。但是,我在尝试以其他形式使用连接时遇到了麻烦。

我应该如何设置它以便我只需要在整个程序中打开一次连接,并使用相同的连接从数据库中获取数据。

或者我应该在每个表单中打开一个新连接吗?

谢谢

3 个答案:

答案 0 :(得分:2)

最好使用带有SQL连接的using语句,如下所示:

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            //Your code goes here
        }

并在App.config文件中创建连接字符串。

答案 1 :(得分:1)

基本上,您必须打开MySqlConnection一次,然后重复使用连接,或者检查它的状态。它与每个ADO.NET库相同。使用using语句,您可以保证将丢弃对象并释放所有资源。

此链接使您需要使用MySql:https://www.codeproject.com/Articles/43438/Connect-C-to-MySQL

答案 2 :(得分:1)

您不希望在应用运行的整个过程中保持连接打开状态。如果您的目标是简化代码可读性,那么创建一个可以重复调用的函数会更好。下面的示例是基本的,但您需要为存储过程和不在查询字符串中的Parameter对象做更多的操作。所有这一切都将填补数据表。

public DataTable RunQuery(string query)
{
//connectionString should come from your configuration or a constant that is a part of this class
   DataTable dt = new DataTable();
   using (SqlCommand cmd = new SqlConnection(connectionString))
        {

            cmd.CommandText = query;
            cmd.Connection.Open();
            using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
            {
                 sda.Fill(dt);
            }
            cmd.Connection.Close();
        }
   return dt;    
}

调用它很容易。

RunQuery("Select * from myData");