我正在尝试在主窗体中打开MySQL连接。但是,我在尝试以其他形式使用连接时遇到了麻烦。
我应该如何设置它以便我只需要在整个程序中打开一次连接,并使用相同的连接从数据库中获取数据。
或者我应该在每个表单中打开一个新连接吗?
谢谢
答案 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");