Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
14-54214
Astarot
2003-03-03 12:16
2003.03.17
BDE - быстрая установка


1-53959
Nikos
2003-03-04 15:56
2003.03.17
Как проверить существование раздела в реестре


14-54194
Товарищъ
2003-03-03 05:49
2003.03.17
Смерть?! Или нет?!


3-53884
Garmahis
2003-02-24 19:32
2003.03.17
Delphi и SQL


1-54100
REA
2003-03-05 17:30
2003.03.17
Разрешение TBitmap





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский