Как отобразить данные из триггера в новой записи
Как отобразить данные из триггера в новой записи
Здравствуйте! Ситуация следующая: есть before insert триггер, который перед вставкой новой записи в таблицу заполняет несколько полей значениями по-умолчанию. Все нормально работает, только в приложении на момент запонения новой записи данные сформированные триггером не видны, т.е. в когда я при помощи компонента DBGridEh добавляю новую запись - то что заполнил триггер не видно. Можно ли это как-то устроить. Да, для доступа к данным используется FIBPlus 6.9
Re: Как отобразить данные из триггера в новой записи
вопрос скучный до ужаса, и аналогичен ситуации с генераторами, рассмотренной в статье
www.ibase.ru/devinfo/generator.htm.
То есть, если надо увидеть измененные на сервере столбцы - значит нужно запись ПЕРЕЧИТАТЬ.
Или, в последних версиях Firebird можно использовать insert returning (в FIBPlus).
www.ibase.ru/devinfo/generator.htm.
То есть, если надо увидеть измененные на сервере столбцы - значит нужно запись ПЕРЕЧИТАТЬ.
Или, в последних версиях Firebird можно использовать insert returning (в FIBPlus).
Re: Как отобразить данные из триггера в новой записи
Вопрос может и скучен, но совсем не аналогичен ситуации с генератором, которая в FIBDataSet элементарно решается путем заполнения AutoUpdateOptions.kdv писал(а):вопрос скучный до ужаса, и аналогичен ситуации с генераторами, рассмотренной в статье
http://www.ibase.ru/devinfo/generator.htm.
За insert returning спасибо, хоть понял, где рыть.kdv писал(а):То есть, если надо увидеть измененные на сервере столбцы - значит нужно запись ПЕРЕЧИТАТЬ.
Или, в последних версиях Firebird можно использовать insert returning (в FIBPlus).
Нарыл следующее: при использовании сетки данных DBGridEh на момент добавления новой записи оператор insert еще не выполняется, следовательно и триггер before insert не срабатывает, а значит и значения еще не сгенерированы. Т.е. нет никакой возможности показать эти значения в сетке. Следовательно в триггере уместно заполнять поля значениями только в случае, когда их необязательно видеть до физического выполнения insert. Если же есть необходимость именно в момент добавления записи в сетку видеть значения полей по умолчанию - нужно их заполнять в клиенте по событию OnNewRecord.
Re: Как отобразить данные из триггера в новой записи
Тебе же подсказали, что нужно ПЕРЕЧИТАТЬ данные.
Для этого у фибов есть RefreshSQL (можно генерировать через SQL generator)
Для этого у фибов есть RefreshSQL (можно генерировать через SQL generator)