Это делает задание:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
Редактирование: В ответ на беспокойство pix0rs - да Вы корректны, что Вы не будете в состоянии программно закрыть приложение. Однако можно просто удалить обработчик событий для form_closing события прежде, чем закрыть форму:
this.FormClosing -= new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
this.Close();
Вы правы; последовательность отделена от таблицы, и для заполнения любой таблицы можно использовать одну последовательность, а значения в столбце в некоторых таблицах могут в основном поступать из последовательности (или набора последовательностей), за исключением значений, созданных вручную.
Другими словами, не существует обязательной связи между столбцом и последовательностью - и, следовательно, нет способа обнаружить такую связь из схемы.
В конечном счете, анализ будет исходный код всех приложений, которые вставляют или обновляют данные в таблице. Больше ничего не гарантируется. Вы можете уменьшить область поиска, если существует хранимая процедура, которая является единственным способом внести изменения в таблицу, или если есть триггер, который устанавливает значение, или другие подобные вещи. Но общее решение - это «не решение» «проанализировать источник».
Вы можете уменьшить область поиска, если существует хранимая процедура, которая является единственным способом внести изменения в таблицу, или если есть триггер, который устанавливает значение, или другие подобные вещи. Но общее решение - это «не решение» «проанализировать источник». Вы можете уменьшить область поиска, если существует хранимая процедура, которая является единственным способом внести изменения в таблицу, или если есть триггер, который устанавливает значение, или другие подобные вещи. Но общее решение - это «не решение» «проанализировать источник».Если последовательность используется в триггере, можно найти, какие таблицы она заполняет:
SQL> select t.table_name, d.referenced_name as sequence_name
2 from user_triggers t
3 join user_dependencies d
4 on d.name = t.trigger_name
5 where d.referenced_type = 'SEQUENCE'
6 and d.type = 'TRIGGER'
7 /
TABLE_NAME SEQUENCE_NAME
------------------------------ ------------------------------
EMP EMPNO_SEQ
SQL>
Вы можете изменять этот запрос, чтобы найти хранимые процедуры и т. Д., Которые используют последовательность.
Нет прямых связей метаданных между последовательностями Oracle и каким-либо использованием в базе данных. Вы можете сделать разумное предположение, связаны ли значения столбца с последовательностью, запросив метаданные USER_SEQUENCES и сравнив столбец LAST_NUMBER с данными для столбца.