Не используйте некоторые из приведенных выше ответов.
Некоторые предлагают использовать вложенный SELECT, не делайте этого, это мучительно медленно. Если у вас есть много записей для обновления, используйте join, поэтому что-то вроде:
update (select bonus
from employee_bonus b
inner join employees e on b.employee_id = e.employee_id
where e.bonus_eligible = 'N') t
set t.bonus = 0;
См. Эту ссылку для получения более подробной информации. http://geekswithblogs.net/WillSmith/archive/2008/06/18/oracle-update-with-join-again.aspx .
Кроме того, убедитесь, что есть первичные ключи на всех таблицах, к которым вы присоединяетесь.
Вот мысль, не уверенная, если это будет иметь значение, но является Вами, вызов Располагает () на NotifyIcon, когда дочерняя форма закрывается?
РЕДАКТИРОВАНИЕ: Просто видел Ваше редактирование, да я не удивлен, что это помогает, и да необходимо сделать это. Под покрытиями что-то использует некоторых неуправляемых снабженный, и необходимо выпустить его. Обычно что-либо в Вашем приложении, которое реализует IDisposable, который Вы используете, сделайте себе одолжение и Расположите его.
Icon.Visible = false
также работал бы. Так или иначе, Dispose
должен все еще быть назван для избавления от дескриптора Windows.