C#/MySQL 交互的典型示例涉及如下代码(为简单起见,我跳过了 try/catches 和错误检查):
conn = new MySqlConnection(cs);
conn.Open();
string stm = "SELECT * FROM Authors";
MySqlCommand cmd = new MySqlCommand(stm, conn);
rdr = cmd.ExecuteReader();
该方案是一个用于独立应用程序和 WCF Web 服务的类库。那么,我是否应该在每次查询时都打开一个连接?还是应该在打开程序的时候打开一次?
最佳答案
要扩展 HackedByChinese 的建议,请考虑以下内容。您有一个主要的协调方法来处理连接的创建、打开、设置事务,然后调用执行不同类型工作(查询)的辅助方法。
public static void UpdateMyObject(string connection, object myobject)
{
try
{
using (SqlConnection con = new SqlConnection(connection))
{
con.Open();
using (SqlTransaction trans = con.BeginTransaction())
{
WorkingMethod1(con, myobject);
WorkingMethod2(con, myobject);
WorkingMethod3(con, myobject);
trans.Commit();
}
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show("SOMETHING BAD HAPPENED!!!!!!! {0}", ex.Message);
}
}
private static void WorkingMethod1(SqlConnection con, object myobject)
{
// Do something here against the database
}
private static void WorkingMethod2(SqlConnection con, object myobject)
{
// Do something here against the database
}
private static void WorkingMethod3(SqlConnection con, object myobject)
{
// Do something here against the database
}
关于c# - 正确使用与 C# 和 MySQL 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675102/