假设我有以下代码:
private void UpdateDB(QuoteDataSet dataSet, Strint tableName)
{
using(SQLiteConnection conn = new SQLiteConnection(_connectionString))
{
conn.Open();
using (SQLiteTransaction transaction = conn.BeginTransaction())
{
using (SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM " + tableName, conn))
{
using (SQLiteDataAdapter sqliteAdapter = new SQLiteDataAdapter())
{
sqliteAdapter.Update(dataSet, tableName);
}
}
transaction.Commit();
}
}
}
C#文档指出,使用using
语句后,作用域内的对象将被处理并释放。有些地方建议我们不需要使用try/finally子句。
通常我会在连接操作周围加上try/finally,而且我总是在finally子句中关闭连接。根据上述代码,假设出现异常,可以合理地认为连接将被关闭吗?