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

Вниз

Все тот же ADO   Найти похожие ветки 

 
Ozone   (2003-10-28 07:54) [0]

Скажите почему у TADOTable отображающей таблицу с первичным ключом инкрементного типа при вызове метода Post это самое инкрементное поле не заполняется (учитывая что LockType = ltBatchOptimistic), а после UpdateBatch() все становится на свои места.


 
Hooch   (2003-10-28 07:59) [1]

сходи на Королевство Делфи, там есть статьи про ADO там про это написано


 
Ozone   (2003-10-28 08:00) [2]

пасиба.


 
Ozone   (2003-10-28 13:55) [3]

Вставляю в свой код перед добавлением записи такую фичу

ADODataSet1.Properties["Update Resync"].Value:= adResyncInserts + adResyncInserts;

и возникает "...Access violation..."

PS. LockType = ltBatchOptimistic.

В чем может быть проблема?


 
Ozone   (2003-10-28 15:38) [4]

Помогите пожалуйста, курсовая горит.


 
Sandman25   (2003-10-28 15:46) [5]

А зачем удвоенное adResyncInserts записывать?


 
Ozone   (2003-10-28 15:48) [6]

Я опечатался, там должно быть
< adResyncAutoIncrement + adResyncInserts >


 
Ozone   (2003-10-28 15:52) [7]

Не вызывает ошибки, если пишу
Properties["Update Criteria"].Value := adCriteriaAllCols;
Properties["Update Resync"].Value := adResyncAutoIncrement + adResyncInserts;

Но нужно результата все равно не дает.
Т.е. в режиме LockType=ltBatchOptimistic делаю Append, что-то присваиваю полям, вызываю Post, но автоинкрементному полю (которое также явл. первичным ключом) значение никакое не присваивается.


 
analyser   (2003-10-28 16:21) [8]

"...учитывая что LockType = ltBatchOptimistic...",
при Post "автоинкрементному полю (которое также явл. первичным ключом)" значение никакое и не присвоится! (а что, на Королевстве Делфи, где есть статьи про ADO, про это не написано?)


 
Ozone   (2003-10-28 16:32) [9]

Тогда как мне лучше осуществить такое:

есть таблицы Teacher(ID, FIO, ...) и Plan(Number, ID, ...), т.е. Teacher связана с Plan один-ко-многим по ключу ID.
Следовательно, при добавлении новой записи в таблицу Teacher мне нужно добавить несколько записей в таблицу Plan, но как это сделать, если ID(автоинкрементное поле) не определяется при вызове метода POST.

Подскажите, как быть?


 
analyser   (2003-10-28 16:57) [10]

...как быть?
-думать!
На самом деле вариантов много можно придумать, но чтобы было все просто и одновременно удовлетворялось и отлож. изменения и автоинкремент - это вряд ли (он ведь-автоинкремент-определяется при вставке записи в таблицу БД (не TADOTABLE!!!), а POST при отлож.изменениях в БД ничего не пишет, только в локальный кэш).
Может, ну его нафиг, этот ltBatchOptimistic - по крайней мере для вставки новой записи - ну удалишь ее потом запросом..


 
Ozone   (2003-10-28 16:58) [11]

Скорее всего так и сделаю.


 
Beginner3000   (2003-10-29 00:00) [12]

меня от заморочек автоинкрементных полей спасает
["Update Criteria"].Value:= adCriteriaKey;
в начале работы с таблицей
а на счёт заполнения автоинкримента - всё верно
это в юрисдикции не TADOTable а движка базы


 
doomin   (2003-10-30 12:04) [13]

начиная с 2000 есть тип счетчика "Код репликации". Порождает поле TGUIDField. Я уже давно перешел на них, тем более допускается генерить их на стороне клиента, т.е. туда писать. База больше, но многие проблемы решены и можно безболезненно использовать встроенную репликацию



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

Форум: "Базы";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.209 c
1-65901
mc_duck
2003-11-08 15:37
2003.11.20
Наследник TComponent.


1-65873
Newman
2003-11-02 16:03
2003.11.20
Как удалить


11-65803
bvv
2003-03-09 12:31
2003.11.20
рул


1-65893
abc1
2003-11-11 15:51
2003.11.20
Перехват событий


4-66173
Alexander
2003-09-23 15:11
2003.11.20
Как можно наиболее быстро оценить количество строк в текстовом





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский