Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакции. Установка курсора на созданную запись. / 7 сообщений из 7, страница 1 из 1
18.07.2003, 15:38
    #32212299
Юрец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакции. Установка курсора на созданную запись.
Помогите !!!
У меня есть таблица в которой поле 'KOD' primary key заполняется триггером значениями взятыми из генератора.
Я пишу на Delphi. При запоминании новой записи методом Post и подтверждении транзакции приходиться переоткрывать таблицу и находить эту запись по уникальному полю 'KOD'. Тут возникает, проблема если во время создания записи, на другом компьютере первыми записывают тоже созданную запись - генератор увеличивает свое значение, а мы то запомнили предыдущее, поэтому после записи не находим свою запись (ее KOD другой чем был на момент создания).
Есть ли какие-то методы решения этой проблемы. Только, пожалуйста не ссылайтесь на литературу по генераторам, транзакциям, напишите свои предложения.
...
Рейтинг: 0 / 0
18.07.2003, 15:47
    #32212312
gray_k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакции. Установка курсора на созданную запись.
Кто-нибудь понял в чём вопрос? Я нет. Если значене поля генерится только на серваке при добавлении записи, то из клиента ты его не узнаешь, пока не подтвердишь изменения.
...
Рейтинг: 0 / 0
18.07.2003, 15:49
    #32212314
Timujin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакции. Установка курсора на созданную запись.
ID := [select Gen_ID(генератор, 1) from RDB$Database]
Потом используй переменную ID, где нужно

P.S. Если я правильно понял проблему.
...
Рейтинг: 0 / 0
18.07.2003, 16:05
    #32212342
Юрец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакции. Установка курсора на созданную запись.
Timujin этот запрос организован в Delphi и называется GeneratorField компонента IBQuery
Как я понял - искать по полю сформированному генератором безполезно. Не хотелось заводить собственное поле и проверять его на уникальность.
Все равно спасибо.
...
Рейтинг: 0 / 0
22.07.2003, 15:57
    #32214725
dick_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакции. Установка курсора на созданную запись.
Если работаешь через FIBPlus, почитай про
TpFibDataset.AutoUpdateOptions
...
Рейтинг: 0 / 0
22.07.2003, 15:57
    #32214726
dick_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакции. Установка курсора на созданную запись.
Если работаешь через FIBPlus, почитай про
TpFibDataset.AutoUpdateOptions
...
Рейтинг: 0 / 0
31.07.2003, 18:05
    #32224283
_Harry
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакции. Установка курсора на созданную запись.
Идентификатор формировать не в тригере, а хранимой процедуре и возвращать как параметр новый ID
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакции. Установка курсора на созданную запись. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]