如果执行失败,最好确保关闭数据库连接?
try
{
using (var mySqlConnection = new MySqlConnection(DatabaseManagement.DatabaseConnectionString))
{
DatabaseManagement.DatabaseCommand = mySqlConnection.CreateCommand();
DatabaseManagement.DatabaseCommand.CommandText = "INSERT INTO lastlaptimes Values ('" + UserObject.UserName + "','" + _lastLapTime + "')";
mySqlConnection.Open();
DatabaseManagement.DatabaseCommand.ExecuteNonQuery();
}
}
catch (MySqlException exception)
{
Logger.Error(exception);
}
或者这个:
using (var mySqlConnection = new MySqlConnection(DatabaseManagement.DatabaseConnectionString))
{
try
{
DatabaseManagement.DatabaseCommand = mySqlConnection.CreateCommand();
DatabaseManagement.DatabaseCommand.CommandText = "INSERT INTO lastlaptimes Values ('" + UserObject.UserName + "','" + _lastLapTime + "')";
mySqlConnection.Open();
DatabaseManagement.DatabaseCommand.ExecuteNonQuery();
}
catch (MySqlException exception)
{
mySqlConnection.Close();
Logger.Error(exception);
}
}
我遇到了与db有太多连接的问题,我想知道我的第一种方法是否导致连接问题,因为代码被多次调用并且新连接是打开并再次失败并将连接增加1。
感谢您的帮助。
答案 0 :(得分:0)
这两者之间的唯一区别在于您是否明确调用Close
语句(两者都有using
语句,该语句会自动运行Dispose
。
所以真正的问题是 - Dispose
关闭连接还是你需要明确地调用它?我相信答案是Dispose
会为您调用此内容(请参阅this question)。这意味着要么运作良好 - 选择你喜欢的(我认为第一个在技术上是一行代码......)