Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

Автоинкрементное поле   Найти похожие ветки 

 
Destroyer ©   (2003-02-25 08:51) [0]

Добрый день.
Есть проблема:
Существует 2 таблицы, связанных отношением "один-ко многим", в главной таблице поле связи - автоинкрементное. Для обоих таблиц свойство CachedUpdates=True и должно быть именно так. Проблема в том, что при добавлении записи в основную таблицу значение автоинкрементного поля не определяется и я не могу связать записи вспомогательной таблицы с главной... Есть ли какое-нибудь простое решение такой проблемы?


 
Ozone ©   (2003-02-25 09:11) [1]

Попробуй сделать его (поле) типа Integer, и при добавлении вручную заполнять его.


 
VAleksey ©   (2003-02-25 11:25) [2]

А при CashedUpdates = false чё все работает что ли ?


 
Соловьев ©   (2003-02-25 12:18) [3]

СУБД?


 
Destroyer ©   (2003-02-25 12:37) [4]

to VAleksey: да, при CashedUpdates = false все работает, но хотелось бы при CashedUpdates = true

to Соловьев: СУБД = MS Access

Почему-то даже после вызова Post значение автоинкрементного поля = Null


 
Соловьев ©   (2003-02-25 12:39) [5]

ApplyUpdate делаешь?


 
Соловьев ©   (2003-02-25 12:39) [6]

После Post просто оно еще в кеше, поэтому тебе надо его записать на диск.


 
Destroyer ©   (2003-02-25 12:57) [7]

to Соловьев:
я вношу изменения в 2 таблицы, и связь идет именно по автоинкрементному полю главной таблицы. ApplyUpdates после добавления записи в главную таблицу я делать не могу, так как предполагается возможный откат...неужели никак не узнать будущее значение автоинкрементного поля? поле Integer делать - тоже та еще морока...


 
Соловьев ©   (2003-02-25 13:02) [8]

ну ок, ты его узнал, а потом сделал откат...
У тебя предполагается многопользовательский режим?


 
Destroyer ©   (2003-02-25 13:12) [9]

>ну ок, ты его узнал, а потом сделал откат...
не понял, как сделать откат, если я уже применил?

да, многопользовательский режим...и проблемы с откатом были когда я пробовал через StartTransaction и т.д. Решил попробовать с CachedUpdates и тоже напоролся.


 
Соловьев ©   (2003-02-25 13:19) [10]

Интересно, а как другой пользователь узнает, что ты там у себя держишь в кеше????
Он добавит запись с номером 10, а у тебя тоже 10, и кто прав? Имхо нужно делать commit.


 
Destroyer ©   (2003-02-25 14:23) [11]

Так ведь после того как я сделаю Commit откат будет невозможен, а после ApplyUpdates автоинкрементное поле еще не присвоено, так как кэш хотя и передан в БД, но еще не зафиксирован. Вот я и хочу узнать, есть тут выход какой-нибудь или нет?



Страницы: 1 вся ветка

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
1-54057
Usama
2003-03-04 05:45
2003.03.17
Эмуляторы


14-54249
Шишкин Илья
2003-02-28 11:55
2003.03.17
Компонент для работы с архивами


1-53961
Mister_Ru
2003-03-04 18:58
2003.03.17
Смена параметров шрифта в RichEdit


14-54210
Aleksandr
2003-03-03 10:15
2003.03.17
Программы подолгу инициализируются. Отчего это зависит?


7-54347
MAPIIIAJL
2003-01-23 00:16
2003.03.17
Подскажите, как работать с двоичными файлами?