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

Вниз

Непонятный глюк у TTable   Найти похожие ветки 

 
Weare   (2003-05-22 15:56) [0]

Может кто-нибудь подскажет как обойти следующий глюк.
Мне необходимо, чтобы можно было отменять сделанные изменения в таблице, поэтому св-со таблицы CashedUpdates ставлю в True.
После добавления записи в грид, который ссылается на Table с включенным св-вом CashedUpdates, запись перескакивает на самый вверх. Если еще одну добавить, то она перескочит выше предыдущей. Но когда переоткрываешь таблицу(программу), то эти новые записи отображаются в конце в порядке их занесения туда. Что это за глюк такой, ведь с отключенным CashedUpdates эти записи, как и положено, записываются в конце и не скачут?
Подскажите, плиз, как избавиться от этих перескоков?

Извините, что повторяю этот вопрос, но я так никакого ответа на него не получил. Что ни у кого не возникало такой ситуации?
Спасибо.


 
Stas   (2003-05-22 16:02) [1]

А ты делай транзакцию.


 
Dred2k   (2003-05-22 16:03) [2]

Записи скачут вверх потому, что не обновляется текущий навигационный индекс (первичный ключ, как правило), согласно которому строится порядок отображения записей. Когда кэш обновлений зафиксирован (applay), обновлен и индекс(ы) (ключ).
Вот такая версия (в диалоговом режими CU еще не приходилось юзать - использовал только для "невизуальных" операций, при этом порядок был абсолютно не важен...).


 
Dred2k   (2003-05-22 16:05) [3]


> Stas © (22.05.03 16:02)
> А ты делай транзакцию.

Paradox и транзакции - никому не посоветую. ;)
(хотя BDE это и поддерживает в определенной степени, но работает сие тварение с бАльшими траблами, хотя и строится, по ходу, все на тех же CU).


 
Weare   (2003-05-22 16:10) [4]


> Dred2k © (22.05.03 16:03)
> Записи скачут вверх потому, что не обновляется текущий навигационный
> индекс (первичный ключ, как правило)

Может вопрос покажется глупым, но можно ли, тогда как-то обновлять индекс, например на OnNewRecord. И если да, то как? :(


 
Dred2k   (2003-05-22 16:17) [5]

> Weare © (22.05.03 16:10)

Я написал, что у меня таких заморочек (необходимостей) при работе с CU еще не было (а тестировать времени нет).
Мое дело версию изложить, твое дело, как разработчику, версию проверить. Причем по хелпам, документам и т.п. Советую начать с bde32.hlp.


 
Pat   (2003-05-22 16:51) [6]

Если в качестве первичного ключа используется автоинк поле, то это нормальное поведение таблицы. Дело в том, что при CachedUpdates физически данные не вставляются в таблицу, пока не вызовешь ApplyUpdates, следовательно, новая запись не имеет значения ключегого поля, и поэтому вставляется первой.

P.S. Вместо CachedUpdates использую временные таблицы. Копируй данные с помощью CopyTable(). Когда надо сохранить измененные данные - копируешь обратно и удаляешь временные таблицы.


 
Weare   (2003-05-22 19:50) [7]


> Pat © (22.05.03 16:51)

Спасибо.
А можно ли как-то заставить значению уже присвоиться автоинкрементному полю, или какие другие способы?
Хотя с временными таблицами-это идея.


 
Pat   (2003-05-22 22:45) [8]

>А можно ли как-то заставить значению уже присвоиться
>автоинкрементному полю
Нет.
>Хотя с временными таблицами-это идея.
Особенно, если тебе надо сделать "откат" в таблицах со связью один-ко-многим



 
Weare   (2003-05-23 11:58) [9]


> Pat © (22.05.03 22:45)

Спасибо еще раз.



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
1-34919
esa
2003-05-30 11:48
2003.06.12
открытие файла


3-34673
kir_kul
2003-05-22 13:00
2003.06.12
Как найти различия в двух таблицах.


1-34797
Dush
2003-06-02 11:54
2003.06.12
Word


14-34969
N119
2003-05-28 13:18
2003.06.12
LOL! Кошки чудят.


7-35085
korry
2003-04-09 19:38
2003.06.12
Как получить список EXE файлов, которые являются инсталяшками?





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