Предположим, что у меня есть следующий код:Выполняет ли выполнение инструкции C# try/finally?
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. Учитывая приведенный выше код, разумно ли предположить, что соединение будет закрыто, если есть исключение?
Подобно http://stackoverflow.com/questions/278902/ using-statement-vs-try-finally –
Не ответ на ваш вопрос. Пожалуйста, прочитайте об атаках на SQL-инъекции. –