Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
Выставляю себя на посмешище, потому что не знаю, как сделать следущую простую вещь - один раз загрузить справочник улиц из базы в память и больше туда не лазтиь, если не нажать кнопочку "Обновить"... Вобщем, использую Direct Oracle Access, хотелось бы иметь DataSet, на который ссылаются многочисленные Lookup-поля, чтобы они в базу лазили по минимуму... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 10:29 |
|
||
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
И что? Ну и держи справочник в этом датасете а из других нужных мест на него ссылайся. Или в чем другом проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 11:06 |
|
||
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
Проблема в том, что он (не знаю кто, наверное TDataSet.Locate) десятки раз загружает его по новой из базы, а я прексрано знаю, что он редко изменяется - и не хотелось бы, почему целиком не загнать в кэш и не брать там? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 11:11 |
|
||
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
>Проблема в том, что он (не знаю кто, наверное TDataSet.Locate) десятки раз загружает его по новой из базы. Да не должен он такого делать, если ты сам его не закрываешь. А TDataSet.Locate ты где используешь, для датасета справочника что ли. Как делаешь то лукап поля напиши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 11:27 |
|
||
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
>Да не должен он такого делать, если ты сам его не закрываешь. Сам не закрываю - совершенно точно... >Как делаешь то лукап поля напиши. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Братцы а может он насильно Refresh делает, когда в таблице с Lookup-полями Refresh происходит (или RefreshRecord)? Но в любом случае должен быть способ отказаться от этого... > А TDataSet.Locate ты где используешь, для датасета справочника что ли. я хотел написать TDataSet.Lookup - нет я явно не использую, но думаю что используют Lookup-поля... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 12:08 |
|
||
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
Ты че, в рантайм их создаешь? И вот это вот попробуй: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 13:21 |
|
||
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
Блин, ну насоветовал!!! Хотел написать TRUE, а написал FALSE. Да и у тебя это уже есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 13:27 |
|
||
|
DOA и Lookup
|
|||
|---|---|---|---|
|
#18+
Да... Разобрался я похоже... Кто бы мог подумать, но: 1. Если вы используете LookupCache=True - в момент открытия таблицы делается полный цикл по всем записям таблицы справочника - они загоняются в этот LookupCache. И так - для каждого Lookup-поля в каждой таблице! 2. Если на момент шага 1, DataSet со справочником ещё не открыт - то после всего этого он ещё и закрывает его... Соответственно в моём случае, справочник загружался по новой для каждого Lookup-поля - он закрывался/открывался (хотя я явно не закрывал его). Смотрите не ступите на мои грабли! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 14:41 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32122891&tid=2118867]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 272ms |
| total: | 399ms |

| 0 / 0 |
