我正在使用Visual Studio 2012和MS SQL Server 2008 R2。
在我的代码中,我正在使用DbConnection
和DbTransaction
。这是我的代码:
DbConnection dbConnection = null;
DbTransaction dbTransaction = null;
try
{
dbConnection = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateConnection();
dbConnection.ConnectionString = connectionString;
dbConnection.Open();
dbTransaction = dbConnection.BeginTransaction();
// do my work using dbConnection and dbTransaction
dbTransaction.Commit();
}
catch (MyWorkFailedException mwfe)
{
dbTransaction.Rollback();
throw;
}
finally
{
if (dbConnection != null)
{
dbConnection.Close();
dbConnection.Dispose();
}
}
dbTransaction.Commit();
或dbTransaction.Rollback();
是否可能会抛出异常?
如果是,那么如何在我的代码中处理它?C#程序员通常如何处理这种情况?或者他们不处理这种情况?
using
关键字? - Sergei Rogovtcevtry finally
的方式与使用using
来处理DbConnection
相同吗?如果是的话,那只是一种个人偏好和旧习惯。 - ChumboChappatiusing
是一个很好的模式,你应该利用它。 - Sergei Rogovtcev