fvgrod Цитата: а почему не работает функция
Потому что выполнение SQL-команд у нас синхронное по умолчанию. И управление на метку a: попадет только тогда, когда закончится выполнение myCommand.ExecuteNonQuery();
Цитата: а как увеличить время таймаута?
SqlCommand.CommandTimeout, по умолчанию там 30 секунд.
Цитата: операцию дробить ни как не получиться((
Не верю. Записи в таблице должны иметь первичный ключ (primary key). В качестве такого ключа часто используется некое автоинкрементное поле (с признаком identity). Если поля такого нет - его можно создать. Когда поле есть, ничего не мешает удалять кусками опираясь на значение ключа.
Предположим, что поле называется ID. Тогда мы можем последовательно выполнять запросы:
Код: begin tran
delete from [mail] where id between 0 and 100
commit tran
...
begin tran
delete from [mail] where id between 101 and 200
commit tran
...