Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить значение поля? [D5, Oracle]


SergeyDove ©   (2002-09-27 12:45:00) 

Использую TQuery (CachedUpdates) + TUpdateSql. Добавляю запись в таблицу с полем генерируемым в триггере (вроде автоинкремента). После добаления записи, значение поля не установлено. Что делать?
Заранее спасибо.
P.S. Для поля указано, что оно генерируется автоматически и AutoRefresh установлен в true.


passm   (2002-09-27 14:10:00) [1]

Поищи, может есть функция аналогичная GENERATE_UNIQUE() в DB2, которая возвращает всегда уникальное значение типа CHAR(13) FOR BIT DATA. Если нет, то можо реализовать (UDF).
Далее запрос типа: SELECT NUM.NUM FROM (VALUES(GENERATE_UNIQUE())) AS NUM(NUM)
И в событии OnNewRecord открываешь запрос, заполняешь значение и закрываешь запрос.
Да, если подобной функции нет, то ее значение генерируется с использованием текущего TIMESTAMP, номера сессии и случайного числа.

А в случае аналогичном твоему приходится переоткрывать запрос и позиционироваться на записи введенные пользователем (желательно, чтобы они были уникальны).


Наверх

Титульная страница Поиск, карта сайта Написать письмо